Developer

정규표현식 치트시트 — Regex 빠른 참조

문법, 문자 클래스, 수량자, 앵커, 그룹, 전방탐색/후방탐색, 일반적인 패턴을 포함한 포괄적인 정규표현식 치트시트입니다.

문자 클래스

패턴설명예시매치
.줄 바꿈을 제외한 모든 문자a.cabc, a1c, a-c
\d숫자 (0-9)\d{3}123, 456
\D숫자가 아닌 문자\D+abc, ---
\w단어 문자 (a-z, A-Z, 0-9, _)\w+hello_123
\W단어가 아닌 문자\W!, @, #
\s공백 (스페이스, 탭, 줄바꿈)a\sba b, a\tb
\S공백이 아닌 문자\S+hello
[abc]a, b, c 중 하나[aeiou]a, e, i
[^abc]a, b, c가 아닌 문자[^aeiou]b, c, d
[a-z]범위: a부터 z[a-f]a, b, c, d, e, f
[A-Z]범위: A부터 Z[A-F]A, B, C, D, E, F
[0-9]범위: 0부터 9[0-5]0, 1, 2, 3, 4, 5

수량자

패턴설명예시매치
*0회 이상ab*cac, abc, abbc
+1회 이상ab+cabc, abbc
?0회 또는 1회colou?rcolor, colour
{n}정확히 n회\d{4}2024
{n,}n회 이상\d{2,}12, 123, 1234
{n,m}n회에서 m회 사이\d{2,4}12, 123, 1234
*?0회 이상 (나태)<.*?><b> in <b>bold</b>
+?1회 이상 (나태)".+?""hi" in "hi" "bye"

앵커 & 경계

패턴설명예시매치
^문자열/줄의 시작^Hello시작 위치의 Hello
$문자열/줄의 끝world$끝 위치의 world
\b단어 경계\bcat\bcat (컨cat이나 cats는 안 됨)
\B단어 경계가 아닌 곳\Bcatscat, concatenate

그룹 & 참조

패턴설명예시매치
(abc)캡처 그룹(ha)+ha, haha, hahaha
(?:abc)비캡처 그룹(?:ha)+위와 동일, 캡처 없음
(?<name>abc)명명된 캡처 그룹(?<year>\d{4})연도 캡처
\1그룹 1에 대한 역참조(\w)\1aa, bb, cc
a|b대안 (또는)cat|dogcat 또는 dog

전방탐색 & 후방탐색

패턴설명예시매치
(?=abc)긍정 전방탐색\d(?=px)3px에서 3
(?!abc)부정 전방탐색\d(?!px)3em에서 3
(?<=abc)긍정 후방탐색(?<=\$)\d+$100에서 100
(?<!abc)부정 후방탐색(?<!\$)\d+EUR100에서 100

플래그 / 수정자

플래그설명예시
g전역 검색 (모든 일치 찾기)/hello/g
i대소문자 무시 검색/hello/i는 Hello와 일치
m다중 행 (^와 $가 행 경계와 일치)/^start/m
sDotall (.이 줄바꿈과 일치)/a.b/s는 a\nb와 일치
u유니코드 지원/\u{1F600}/u
y스티키 (lastIndex에서 일치)/\d/y

일반적인 패턴

패턴정규식참고
이메일^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,}$기본 이메일 검증
URLhttps?:\/\/[\w.-]+(?:\.[\w]{2,})[\/\w.-]*HTTP/HTTPS URL
IPv4 주소\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b예: 192.168.1.1
16진 색상#[0-9a-fA-F]{3,8}#fff, #FF5733, #FF573380
전화번호 (미국)\(?\d{3}\)?[-\s]?\d{3}[-\s]?\d{4}(555) 123-4567
날짜 (YYYY-MM-DD)\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])2024-12-31
시간 (HH:MM)(?:[01]\d|2[0-3]):[0-5]\d14:30, 09:15
사용자명^[a-zA-Z][\w]{2,15}$3-16자, 문자로 시작
비밀번호 (강력)^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\w]).{8,}$최소 8자, 대소문자 + 숫자 + 특수문자
HTML 태그<\/?[a-z][\w-]*[^>]*><div>, </span>, <img />

Related Tools