正则表达式速查

正则表达式语法和常用模式参考。

60개 패턴

기본 메타문자

模式说明示例
.
임의의 한 문자 (줄바꿈 제외)a.c → abc, a1c, a c
^
문자열/줄의 시작^Hello → Hello로 시작하는 줄
$
문자열/줄의 끝end$ → end로 끝나는 줄
\
특수 문자 이스케이프\. → 리터럴 점(.)
|
OR 연산cat|dog → cat 또는 dog
()
그룹 캡처(ab)+ → ab, abab
(?:)
비캡처 그룹(?:ab)+ → 그룹화만, 캡처 안함

수량자 (Quantifiers)

模式说明示例
*
0회 이상 반복 (탐욕적)ab*c → ac, abc, abbc
+
1회 이상 반복 (탐욕적)ab+c → abc, abbc (ac는 ×)
?
0회 또는 1회colou?r → color, colour
{n}
정확히 n회 반복a{3} → aaa
{n,}
n회 이상 반복a{2,} → aa, aaa, aaaa...
{n,m}
n회 이상 m회 이하a{2,4} → aa, aaa, aaaa
*?
0회 이상 (게으른/최소 매칭)<.*?> → 각 태그 개별 매칭
+?
1회 이상 (게으른/최소 매칭).+? → 가능한 적게 매칭
??
0 또는 1회 (게으른)a?? → 빈 문자열 우선 매칭

문자 클래스

模式说明示例
[abc]
a, b, c 중 하나[aeiou] → 모음 한 글자
[^abc]
a, b, c를 제외한 문자[^0-9] → 숫자가 아닌 문자
[a-z]
소문자 범위[a-zA-Z] → 영문자
[0-9]
숫자 범위[0-9]+ → 하나 이상의 숫자
\d
숫자 [0-9]\d{3} → 세 자리 숫자
\D
숫자가 아닌 문자 [^0-9]\D+ → 숫자가 아닌 연속 문자
\w
단어 문자 [a-zA-Z0-9_]\w+ → 변수명 등 단어
\W
단어 문자가 아닌 것 [^a-zA-Z0-9_]\W → 특수문자, 공백
\s
공백 문자 (스페이스, 탭, 줄바꿈)\s+ → 연속 공백
\S
공백이 아닌 문자\S+ → 공백 아닌 연속 문자
\b
단어 경계 (위치)\bword\b → 독립된 단어만
\B
단어 경계가 아닌 곳 (위치)\Bword → 단어 내부의 word

전후방 탐색 (Lookaround)

模式说明示例
(?=...)
전방 탐색 (Positive Lookahead)\d(?=px) → px 앞의 숫자
(?!...)
부정 전방 탐색 (Negative Lookahead)\d(?!px) → px 앞이 아닌 숫자
(?<=...)
후방 탐색 (Positive Lookbehind)(?<=\$)\d+ → $ 뒤의 숫자
(?<!...)
부정 후방 탐색 (Negative Lookbehind)(?<!\$)\d+ → $ 뒤가 아닌 숫자

그룹 & 역참조

模式说明示例
(abc)
캡처 그룹(\d+)-(\d+) → $1, $2로 참조
(?:abc)
비캡처 그룹 (성능 향상)(?:https?://) → 캡처 안함
(?<name>abc)
이름 있는 캡처 그룹(?<year>\d{4}) → $<year>
\1
역참조 (첫 번째 그룹)(\w+)\s\1 → hello hello
$1 또는 \1
치환 시 그룹 참조s/(\w+)/[$1]/g

플래그 (Flags)

模式说明示例
g
전역 검색 (모든 매치 찾기)/pattern/g
i
대소문자 무시/hello/i → Hello, HELLO 매칭
m
여러 줄 모드 (^, $ 각 줄 적용)/^start/m → 각 줄의 start
s
dotAll (.이 줄바꿈도 매칭)/a.b/s → a\nb도 매칭
u
유니코드 지원/\p{Hangul}/u → 한글 매칭
y
sticky (lastIndex부터만 검색)/\d+/y

자주 쓰는 패턴

模式说明示例
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
이메일 주소 검증
^https?:\/\/(www\.)?[\w.-]+\.[a-zA-Z]{2,}
URL (http/https)
^01[016789]-?\d{3,4}-?\d{4}$
한국 휴대전화번호
^\d{2,3}-?\d{3,4}-?\d{4}$
한국 전화번호 (일반)
^\d{3}-?\d{2}-?\d{5}$
사업자등록번호
^\d{6}-?[1-4]\d{6}$
주민등록번호
^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$
날짜 (YYYY-MM-DD)
^(0[1-9]|1[0-2]):(0[0-9]|[1-5]\d)$
시간 (HH:mm, 24시)
^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$
HEX 색상코드 (#fff, #ffffff)
^-?\d+(\.\d+)?$
정수 또는 소수 (음수 포함)
^\d{1,3}(\.\d{1,3}){3}$
IPv4 주소 (기본)
^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d@$!%*?&]{8,}$
비밀번호 (영문+숫자, 8자 이상)
<[^>]+>
HTML 태그 매칭
<(\w+)[^>]*>.*?<\/\1>
HTML 여닫는 태그 쌍
^\s+|\s+$
앞뒤 공백 (trim 용도)
\b\w+\b
단어 추출 (단어 경계 사용)
(\d{1,3})(,\d{3})*
천 단위 콤마 숫자 (1,000,000)

常见问题

什么是正则表达式?
正则表达式(regex)是定义搜索模式的字符序列,用于文本的匹配、查找和操作。

其他工具