*^x
: 문자열의 시작을 표현하며 x 문자로 시작됨을 의미한다. (집합[] 내에서는 NOT 을 의미)*
*x$
: 문자열의 종료를 표현하며 x 문자로 종료됨을 의미한다.*
*.x
: 임의의 한 문자의 자리수를 표현하며 문자열이 x로 끝난다는 것을 의미한다.*
*x+
: 반복을 표현하며 x 문자가 한번 이상 반복됨을 의미한다.*
*x?
: 존재여부를 표현하며 x 문자가 존재할 수도, 존재하지 않을 수도 있음을 의미한다.*
*x*
: 반복여부를 표현하며 x 문자가 0번 또는 그 이상 반복됨을 의미한다.*
*?
와 +
를 합한 것이 *
이다*
*x|y
: or 를 표현하며 x 또는 y 문자가 존재함을 의미한다.*
*(x)
: 그룸을 표현하며 x를 그룹으로 처리함을 의미한다.*
*(x)(y)
: 그룹들의 집합을 표현하며 앞에서 부터 순서대로 번호를 부여하여 관리하고 x, y는 각 그룹의 데이터로 관리된다.*
*(?:x)
: 그룹들의 집합에 대한 예외를 표현하며 그룹 집합으로 관리되지 않음을 의미한다.*
※ 하단 설명 참조
*x{n}
: 반복을 표현하며 x 문자가 n번 반복됨을 의미한다.*
*x{n,}
: 반복을 표현하며 x 문자가 n번 이상 반복됨을 의미한다.*
*x{n,m}
: 반복을 표현하며 x 문자가 최소 n번 이상 최대 m번 이하로 반복됨을 의미한다.*
*[xy]
: 문자 선택을 표현하며 x 와 y 중에 하나를 의미한다.**[^xy]
: not을 표현하며 x 및 y를 제외한 문자를 의미한다.**[x-y]
: rango를 표현하며 x ~ y 사이의 문자를 의미한다.**\\^
: escape를 표현하며 ^ 를 문자로 사용함을 의미한다. (\특수문자) ※ 하단 설명 참조**\\b
: word boundary 를 표현하며 문자와 공백사이의 문자를 의미한다.**\\B
: non word boundary를 표현하며 문자와 공백사이가 아닌 문자를 의미한다.**\\d
: digit 를 표현하며 숫자를 의미한다.**\\D
: non digit 를 표현하며 숫자가 아닌 것을 의미한다.**\\s
: space를 표현하며 공백 문자를 의미한다.**\\S
: non space를 표현하며 공백 문자가 아닌 것을 의미한다.**\\t
: tab 을 표현하며 탭 문자를 의미한다.**\\v
: vertical tab 을 표현하며 수직 탭(?) 문자를 의미한다.**\\w
: word 를 표현하며 알파벳 + 숫자 + _ 중의 한 문자임을 의미한다. ⇒ '[a-zA-Z0-9_]'**\\W
: non word를 표현하며 앞파벳 + 숫자 + _ 가 아닌 문자를 의미한다. ⇒ '[^a-zA-Z0-9_]'**\\n
: 개행문자**g
: Global 을 표현하며 대상 문자열내에 모든 패턴들을 검색하는 것을 의미한다.**i
: Ignore case를 표현하며 대상 문자열에 대해서 대/소문자를 식별하지 않는 것을 의미한다.**m
: Multi line을 표현하며 대상 문자열이 다중 라인의 문자열인 경우에도 검색하는 것을 의미한다.*개별 숫자 ⇒ /[0-9]/g
→ 전체에서 0~9사이에 아무 숫자 '하나' 찾음
개별 문자 ⇒ /[to]/g
→ 전체에서 t 혹은 o 를 모두 찾음
단어 ⇒ /filter/g
→ 전체에서 f 따로 i 따로 찾는 게 아니라 'filter' 라는 단어에 매칭되는것을 찾음
단어 제외 ⇒ /\\b(?:(?!to)\\w)+\\b/g
→ 전체에서 'to' 라는 단어를 빼고 다른 단어 매칭 / 확인 결과 "Tutorial"도 제외됨.
단어 제외 ⇒ /\\b(?!\\bto\\b)\\w+\\b/g
→ 전체에서 'to' 라는 단어를 빼고 다른 단어 매칭 / 확인결과 "Tutorial" 은 제외 안됨. 이게 더 정확