Regular expressions, 특정한 규칙을 가지는 문자열의 집합을 표현하는 데 사용하는 형식언어이다. 복잡한 문자열의 검색과 치환을 하기 위해 많이 사용된다.
. ^ * $ + ? \ | ( ) { } [ ]
문자가 가진 원래의 의미가 아닌 특별한 용도로 사용되는 문자.
[]는 대괄호 안에 포한된 문자들 중 적어도 하나와 매치 여부를 뜻한다.
[abc]
'a' # a와 매치
'bird' # b와 매치
'dre' # 매치 없음.
[]
안의 두 문자 사이에 -
를 이용하면 범위를 의미한다.
[a-d] #a, b, c, d [abcd]
[0-9] # 숫자
[a-zA-Z] # 모든 알파벳
[0-9]
와 같은 의미[^0-9]
와 동일한 표현식이다.[^\t\n\r\f\v]
와 동일한 표현식이다.[^\t\n\r\f\v]
와 같은 표현식.맨 앞의 빈칸은 공백 문자를 의미한다.cd.de
=> cd + 모든 문자 + de
if a[.]b
이라면 문자클라스 []
안에 있는 dot(.) 메타 문자가 사용된다면 이것은 모든 문자가 아닌 문자 .
그대로를 의미한다.
ca*t # a가 0부터 무한대로 반복 가능
ca+t # a가 최소 1번 이상 반복
ca{m, n}t # n~m번 반복 {1,}= +, {0,} = *
ca?t # 1 or 0, 있거나 없거나