본문 바로가기

기타

정규식 표현

 

  • 특수 문자

위의 경우에는 문자열이 완전히 같은 경우만 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 의 경우 매칭된다.

이 글은 스프링노트에서 작성되었습니다.