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)( ) : 패턴내 하위그룹을 만들때 사용