Flag | 설명 |
---|---|
g | 문자열 내의 모든 패턴 검색 |
i | 대소문자를 구별하지 않고 검색 |
m | 문자열의 행이 바뀌더라도 계속 검색 |
s | . 이 개행문자(\n) 도 포함하여 검색 |
u | 유니코드 전체 지원 |
y | 특정 위치에서 검색 진행 모드 활성화 |
패턴 | 설명 |
---|---|
a-z | 영어 소문자 (-로 범위 지정) |
A-Z | 영어 대문자 (-로 범위 지정) |
ㄱ-ㅎ가-힣 | 한글 문자 (-로 범위 지정) |
0-9 | 숫자 (-로 범위 지정) |
. | 모든 문자열(영어, 한글, 숫자, 특수기호, 공백 등), 단 |
\d | 숫자 |
\D | 숫자 이외 |
\w | 영어 알파뱃과 숫자 및 인것, [A-Za-z0-9]와 동일 |
\W | \w 이외 |
\s | 공백 |
\S | 공백 이외 |
\특수기호 | 특수기호, 예) * ! \? … 등 |
\b | 63개 문자(영문 대소문자 52개 + 숫자 10개 + _(underscore))가 아닌 나머지 문자에 일치하는 경계(boundary) |
\B | 63개 문자에 일치하는 경계 |
\x | 16진수 문자에 일치/\x61/는 a에 일치 |
\0 | 8진수 문자에 일치/\141/은 a에 일치 |
\u | 유니코드(Unicode) 문자에 일치/\u0061/는 a에 일치 |
\c | 제어(Control) 문자에 일치 |
\f | 폼 피드, (FF, U+000C) 문자에 일치 |
\n | 줄 바꿈, (LF, U+000A) 문자에 일치 |
\r | 캐리지 리턴, (CR, U+000D) 문자에 일치 |
\t | 탭, (U+0009) 문자에 일치 |
패턴 | 설명 |
---|---|
예) a | b |
[] | 대괄호 안의 문자들 중 하나 |
예) /[abc]/ : "a" | "b" |
[^문자] | 대괄호 안의 문자를 제외한 문자 |
예) [^lgEn] "l" "g" "E" "N" 4개 문자를 제외 | |
^문자열 | 특정 문자열로 시작 |
예) /^www/ | |
문자열$ | 특정 문자열로 끝 |
예) /com$/ |
패턴 | 설명 |
---|---|
? | 없거나 or 최대 한개만 |
예) /apple?/ | |
* | 없거나 or 있거나 (여러개) |
예) /apple*/ | |
+ | 최소 한개 or 여러개 |
예) /apple+/ | |
*? | 없거나, 있거나 and 없거나, 최대한개 : 없음 |
{0} 과 동일 | |
+? | 최소한개, 있거나 and 없거나, 최대한개 : 한개 |
{1}과 동일 | |
{n} | n개 |
예) ^[a-z]{2}$ | |
{min,} | 최소 Min개 이상 |
예) ^[a-z]{1,}$ | |
{min, max} | 최소 Min개 이상, 최대 Max개 이하 |
예) ^[a-z]{2,5}$ |
패턴 | 설명 |
---|---|
() | 그룹화 및 캡쳐 |
(?:패턴) | 그룹화 |
(?=) | 앞쪽 일치 |
예) /ab(?=c)/ | |
(?!) | 부정 앞쪽 일치 |
예) /ab(?!c)/ | |
(?≤) | 뒤쪽 일치 |
예) /(?<=ab)c/ | |
(?<!) | 부정 뒤쪽 일치 |
예) /(?<!ab)c/ |
상황 | 샘플 |
---|---|
숫자만 허용 | /^[0-9]+$/ |
한글만 허용 | /^[ㄱ-ㅎ가-힣]+$/ |
휴대전화 번호 | /^010-[0-9]{4}-[0-9]{4}$/ |
아이디 | ^[a-z][a-z0-9]{4,10}$ 영어 소문자로 시작하는 영어 소문자 및 숫자로 이루어진 4~10글자 |
이메일 | /^0-9a-zA-Z[a-zA-Z0-9-_.]{3,63}@0-9a-zA-Z[a-zA-Z0-9-_.]{3,63}.[a-zA-Z]{2,3}$/ |