a*
: a가 0회 이상 반복을 뜻한다. a, aa, aaaa표현식이 값 자체를 의미하는 것
예) a
는 a
자체를 의미한다.
[ ]
사이의 문자들과 매칭[abc]
: a, b, c 중 하나의 문자와 매치-
를 이용해 범위로 설정할 수 있다.[a-z]
: 알파벳소문자중 하나의 문자와 매치[a-zA-Z0-9]
: 알파벳대소문자와 숫자 중 하나의 문자와 매치[가-힣ㄱ-ㅎㅏ-ㅣ]
: 한글 중 하나의 글자/문자와 매치[^ 패턴]
: ^ 으로 시작하는 경우 반대의 의미[^abc]
: a, b, c를 제외한 나머지 문자들 중 하나와 매치.
[^a-z]
: 알파벳 소문자를 제외한 나머지 문자들 중 하나와 매치
\d
: 숫자와 매치. [0-9]와 동일\D
: \d
의 반대. 숫자가 아닌 문자와 매치. [^0-9]와 동일\w
: 문자와 숫자, (underscore)와 매치. `[a-zA-Z가-힣0-9]`와 동일 (문자는 특수문자 제외한 일반문자-언어상관없는-들을 말한다.\W
: \w
의 반대. 문자와 숫자와 가 아닌 문자와 매치. `[^a-zA-Z가-힣0-9]`와 동일\s
: 공백문자와 매치. tab,줄바꿈,공백문자와 일치\S
: \s
와 반대. 공백을 제외한 문자열과 매치.\b
: 단어 경계(word boundary) 표시. 보통 단어 경계로 빈문자열\w
)와 단어가 아닌 문자사이를 가리킨다.\b가족\b
=> 우리 가족 만세(O), 우리가족만세 (X)\B
: \b
의 반대. 단어 경계로 구분된 단어가 아닌 경우\B가족\B
=> 우리 가족 만세(X), 우리가족만세 (O)
*
: 앞의 문자(패턴)과 일치하는 문자가 0개 이상인 경우. (a*b
)+
: 앞의 문자(패턴)과 일치하는 문자가 1개이상인 경우. (a+b
)?
: 앞의 문자(패턴)과 일치하는 문자가 한개 있거나 없는 경우. (a?b
){m}
: 앞의 문자(패턴)가 m개. (a{3}b
){m,}
: 앞의 문자(패턴)이 m개 이상. (a{3,}b
){m,n}
: 앞의 문자(패턴)이 m개이상 n개 이하. (a{2,5}b
) .
, *
, +
, ?
를 리터럴로 표현할 경우 \
를 붙인다.^
문자열의 시작 (^abc
)$
: 문자열의 끝 (abc$
).
: 한개의 모든 문자(\n-줄바꿈 제외) (a.b
)|
: 둘중 하나(OR) (?:010|011|016|019)( )
: 패턴내 하위그룹을 만들때 사용