
*^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" 은 제외 안됨. 이게 더 정확