- 특수 문자
위의 경우에는 문자열이 완전히 같은 경우만 true 를 리턴하는데 더욱 폭 넓게 매칭 조건을 주는것이 가능한데, 특수 문자를 이용하면 가능하다.
. 임의의 하나의 문자 예) a. ( ab, ac ...)
* 0회 이상 반복 예) a* ( a, aa, aaa ...)
+ 1회 이상 반복 예) a+ ( aa, aaa ...)
? 1회 이하 반복 예) ab? ( a , ab )
^ 단어의 맨 처음 예) ^a ( a, ab , abc abcd ... )
$ 단어의 맨 끝 예) $ab ( ab, cdab ...)
| 선택 예) a|b (a , b)
{n} 문자 n 개 허용 예) {2} ( ab, ac ...)
{n,} 문자 n 개 이상 허용 예) {2,} ( ab, abc, abcd abcde...)
{n,m} 문자 n 개 m 개 이하 이상 허용 예) {2,4} (ab, abc, abcd ...)
\ 특수문자를 문자로 취급 예) \+ (+)
\w 대소 문자와 모든 숫자 그리고 _(언더바) [0-9a-zA-Z]
\W 대소 문자와 숫자와 _(언더바)를 제외한 모든 문자 [^0-9a-zA-Z]
\s 공백 문자 (탭, 스페이스, 뉴라인) [\t\n\r\t]
\S 공백 문자 (탭, 스페이스, 뉴라인) 제외한 모든 문자 [^\t\n\r\t]
\d 숫자 [0-9]
\D 숫자를 제외한 모든 문자 [^0-9]
\b 단어 단위의 문자열
- 문자클래스
문자클래스는 매칭할때 특정 문자로 범위를 지정해 줄 수 있다.
표현 방식은 [] 사이에 범위를 넣어준다.
[] 가 의미하는 바는 입력된 문자중 하나가 매칭가능하다 는 것을 의미한다.
그래서 [abc] 의 경우 a 나 b 또는 c 일 경우 매칭된다는 의미가 된다.
[aA][bB] 의 경우는 ab 나 AB 또는 aB , Ab 가 매칭되는 경우 true 를 리턴해준다.
범위를 줄때는 몇가지 간편하게 하기위한 문자가 있는데 바로 - 이다.
[0-9] 의 경우 0이나 1,2,3,4,5,6,7,8,9 의 경우 매칭되면 true 를 리턴한다.
또한 [a-z] 의 경우도 a 부터 z중 아무거나 매칭되면 true 를 리턴한다.
- 옵션
g 일치하는 모든것을 찾는다.
i 대소문자를 구분하지 않는다. 예) /(ab)i/ ab 나 AB 또는 aB, Ab 의 경우 매칭된다.
이 글은 스프링노트에서 작성되었습니다.