img1.daumcdn.jpg

Meta 문자

표현식 의미
^x 문자열의 시작을 표현
x$ 문자열의 종료를 표현
.x 임의의 한문자의 자리수를 표현하며 문자열이 x로 끝남
x+ x문자가 한 번 이상 반복됨
x? x문자가 존재할 수도, 존재하지 않을 수도 있음
x* x문자가 0번또는 그 이상 반복됨
x y
(x) x를 그룹으로 처리함
(x)(y) 그룹들의 집합을 표현하며 앞에서 부터 순서대로 번호를 부여하여 관리하고 x,y는 각 그룹의 데이터로 관리된다.
(x)(?:y) 그룹들의 집합에 대한 예외를 표현하며 그룹 집합으로 관리되지 않음을 의미
x{n} 반복을 표현하며 x문자가 n번 반복됨을 의미
x{n,} x문자가 n번 이상 반복됨을 의미
x{n,m} x문자가 최소 n번 최대 m번 이하로 반복됨을 의미
표현식 의미
[xy] 문자 선택을 표현하며 x와 y중에 하나를 의미한다.
[^xy] not을 표현하며 x및 y를 제외한 문자
[x-z] range를 표현하며 x~z사이의 문자를 의미
\^ escape를 표현하며 ^를 문자로 사용함을 의미
\b 문자와 공백사이의 문자
\B 문자와 공백사이의 문자가 아닌 문자
\d digit (숫자)
\D non digit
\s space
\S non space
\t tab
\v vertical tab
\w 알파벳 + 숫자 + _ 중의 한 문자
\W non world, 알파벳 + 숫자 + _가 아닌 문자
Flag 의미
g Global 의 표현하며 대상 문자열내에 모든 패턴들을 검색하는 것을 의미
i ignore case를 표현하며 대/소문자 식별안함
m 대상 문자열이 다중 라인의 문자열인 경우에도 검색하는 것을 의미

예제

/^[0-9a-zA-Z]([-_\\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\\.]?[0-9a-zA-Z])*\\.[a-zA-Z]{2,3}$/i

'시작을'  0~9 사이 숫자 or a-z A-Z 알바펫 아무거나로 시작하고  /  중간에 - _  . 같은 문자가 있을수도 있고 없을수도 있으며 /

그 후에 0~9 사이 숫자 or a-z A-Z 알바펫중 하나의 문자가 없거나 연달아 나올수 있으며 /  @ 가 반드시 존재하고  /   0-9a-zA-Z 여기서 하나가 있고  /  중간에 - _  . 같은 문자가 있을수도 있고 없을수도 있으며 / 그 후에 0~9 사이 숫자 or a-z A-Z 알바펫중 하나의   문자가 없거나 연달아 나올수 있으며 /  반드시  .  이 존재하고  / [a-zA-Z] 의 문자가 2개나 3개가 존재 /   이 모든것은 대소문자 구분안함

/^\\d{3}-\\d{3,4}-\\d{4}$/

시작을 숫자 3개로 하며/ 중간에 하이픈 - 하나 존재/ 숫자가 3~4개 존재하며/ 하이픈 하나 존재/ 숫자 4개로 끝남