EasyDebug.NET

정규식 참조표

문자 클래스·수량자·앵커·그룹과 고급 문법, 엔진 지원 차이 정리

총 57개

.
任意字符문자 클래스

줄바꿈을 제외한 임의의 한 문자에 매칭

\d
数字문자 클래스

숫자 한 자리 매칭, [0-9]와 동일

\D
非数字문자 클래스

숫자가 아닌 문자 매칭, [^0-9]와 동일

\w
单词字符문자 클래스

문자·숫자·밑줄 매칭, [A-Za-z0-9_]와 동일

\W
非单词字符문자 클래스

문자·숫자·밑줄이 아닌 문자 매칭

\s
空白字符문자 클래스

공백, 탭, 줄바꿈 등 공백 문자 매칭

\S
非空白字符문자 클래스

공백이 아닌 문자 매칭

[abc]
字符集合문자 클래스

대괄호 안에 나열된 문자 중 하나에 매칭

[^abc]
否定字符集문자 클래스

대괄호에 나열되지 않은 문자에 매칭

[a-z]
字符范围문자 클래스

지정 범위 내 임의의 문자 매칭, 예: [a-z]는 소문자

[\u4e00-\u9fa5]
汉字范围문자 클래스

중국어 한자 한 글자 매칭(CJK 통합 표의 문자 기본 영역)

*
0 次或多次수량자

앞 요소를 0회 이상 반복, {0,}와 동일

+
1 次或多次수량자

앞 요소를 1회 이상 반복, {1,}와 동일

?
0 次或 1 次수량자

앞 요소를 0회 또는 1회 매칭(선택), {0,1}와 동일

{n}
精确 n 次수량자

앞 요소를 정확히 n회 반복, 예: \d{4}는 4자리 숫자

{n,}
至少 n 次수량자

앞 요소를 최소 n회 반복

{n,m}
n 到 m 次수량자

앞 요소를 n회에서 m회 사이로 반복

*? +? ??
懒惰匹配수량자

수량자 뒤에 ?를 붙이면 게으른(비탐욕) 매칭, 최대한 적게 매칭

^
行首锚点앵커

문자열 시작에 매칭, m 플래그 사용 시 각 줄의 시작에 매칭

$
行尾锚点앵커

문자열 끝에 매칭, m 플래그 사용 시 각 줄의 끝에 매칭

\b
单词边界앵커

단어 경계 위치에 매칭, 문자를 소비하지 않음

\B
非单词边界앵커

단어 경계가 아닌 위치에 매칭

(...)
捕获分组그룹과 참조

괄호 안 내용을 하나로 묶고 매칭 결과를 캡처하여 참조

(?:...)
非捕获分组그룹과 참조

캡처 없이 그룹화만 수행, 그룹 번호를 차지하지 않음

(?<name>...)
命名分组그룹과 참조

캡처 그룹에 이름을 붙여 이름으로 참조 가능

\1
反向引用그룹과 참조

1번 그룹이 매칭한 내용을 역참조, 예: (ab)\1은 abab 매칭

a|b
或运算그룹과 참조

파이프 왼쪽 또는 오른쪽 중 하나에 매칭

(?=...)
正向先行断言룩어라운드

긍정 lookahead: 뒤에 해당 패턴이 있을 때 성공, 문자 소비 없음

(?!...)
负向先行断言룩어라운드

부정 lookahead: 뒤에 해당 패턴이 없을 때 성공

(?<=...)
正向后行断言룩어라운드

긍정 lookbehind: 앞에 해당 패턴이 있을 때 성공

(?<!...)
负向后行断言룩어라운드

부정 lookbehind: 앞에 해당 패턴이 없을 때 성공

g
全局标志플래그

전역 플래그: 첫 번째만이 아닌 모든 매칭을 탐색

i
忽略大小写플래그

대소문자 무시 플래그

m
多行模式플래그

멀티라인 플래그: ^와 $가 각 줄의 시작/끝에 매칭

s
单行模式플래그

dotall 플래그: .도 줄바꿈에 매칭됨

u
Unicode 模式플래그

Unicode 플래그: 코드 포인트 단위로 매칭, 이모지 등 올바르게 처리

y
粘性匹配플래그

sticky 플래그: lastIndex 위치에서만 매칭

\.
转义点号이스케이프

임의의 문자가 아닌 리터럴 점(.) 자체를 매칭

\n \t \r
控制字符이스케이프

각각 줄바꿈, 탭, 캐리지 리턴 매칭

\u{1F600}
Unicode 转义이스케이프

코드 포인트로 Unicode 문자 매칭, u 플래그 필요(이모지 등)

*+ ++ ?+
占有量词수량자

수량자 뒤 +는 백트래킹 없는 점유 매칭(PCRE, Python 3.11+, Java 지원, JavaScript 미지원)

(?>...)
原子组그룹과 참조

한 번 매칭 후 백트래킹하지 않아 치명적 백트래킹 방지(PCRE, Java, .NET 지원, JavaScript 미지원)

(?(1)yes|no)
条件表达式그룹과 참조

1번 그룹 매칭 시 yes, 아니면 no 분기(PCRE, Python, .NET 지원, JavaScript 미지원)

[[:alpha:]]
POSIX 字符类문자 클래스

POSIX 명명 클래스(alpha, digit, alnum 등). PCRE·POSIX 지원, JavaScript 미지원

\k<name>
命名反向引用그룹과 참조

이름 있는 그룹 (?<name>...) 참조(JavaScript, PCRE, .NET 지원, Python은 (?P=name))

\A
字符串绝对开头앵커

멀티라인과 무관하게 문자열 시작에 매칭(JavaScript 미지원, ^로 대체)

\Z
字符串结尾(允许末尾换行)앵커

문자열 끝에 매칭, 끝의 줄바꿈 하나 허용(JavaScript 미지원)

\z
字符串绝对结尾앵커

문자열의 절대 끝에 매칭, 추가 줄바꿈 불허(JavaScript 미지원)

^[1-9]\d*$
正整数자주 쓰는 예제

0으로 시작하지 않는 양의 정수 매칭

^1[3-9]\d{9}$
手机号(中国大陆)자주 쓰는 예제

중국 대륙 11자리 휴대폰 번호 매칭

^[\w.-]+@[\w-]+(\.[\w-]+)+$
邮箱자주 쓰는 예제

일반적인 형식의 이메일 주소 매칭

^https?://[^\s]+$
URL자주 쓰는 예제

http 또는 https로 시작하는 URL 매칭

^(\d{1,3}\.){3}\d{1,3}$
IPv4 地址자주 쓰는 예제

점으로 구분된 10진수 IPv4 주소 매칭(0-255 범위 미검증)

^\d{4}-\d{2}-\d{2}$
日期자주 쓰는 예제

YYYY-MM-DD 형식의 날짜 매칭

^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$
强密码자주 쓰는 예제

문자와 숫자를 모두 포함한 8자 이상 비밀번호

<[^>]+>
HTML 标签자주 쓰는 예제

꺾쇠 괄호 HTML 태그 매칭

[\u4e00-\u9fa5]+
提取汉字자주 쓰는 예제

텍스트에서 연속된 중국어 한자 추출

뭔가 잘못됐거나 빠진 게 있나요?

피드백 보내기
작성자의 블로그
아이디어 보내기