정규식 치트시트

정규식 문법 치트시트 — 앵커·문자 클래스·수량자·그룹·룩어라운드·플래그를 예시와 함께 검색. 브라우저에서 처리, 업로드 없음.

64개 중 64개 표시

앵커 (Anchors)

^
문자열의 시작 — m 플래그를 쓰면 각 줄의 시작
^Hello
$
문자열의 끝 — m 플래그를 쓰면 각 줄의 끝
world$
\b
단어 경계(word boundary) — 단어 문자와 단어가 아닌 문자가 맞닿는 자리
\bcat\b
세 자리에서 매칭됩니다 — 첫 글자가 \w이면 문자열의 맨 앞, 붙어 있는 두 글자 가운데 하나가 \w이고 다른 하나가 \W이면 그 사이, 마지막 글자가 \w이면 문자열의 맨 끝.
\B
단어 경계가 아닌 자리
\Bcat

문자 클래스 (Character classes)

.
줄바꿈을 뺀 모든 문자
h.t
대괄호 안에서는 힘을 잃습니다 — [.]은 이스케이프 없이 그냥 마침표 한 글자입니다.
\d
숫자 한 글자(0–9)
\d\d
\D
숫자가 아닌 모든 문자
\D+
\w
단어 문자 — 영문자·숫자·밑줄(_)
\w+
\W
단어 문자가 아닌 모든 문자
\W
\s
공백 문자 — 스페이스·탭·줄바꿈
a\sb
\S
공백이 아닌 모든 문자
\S+
[abc]
나열한 문자 가운데 하나
[aeiou]
[^abc]
나열한 문자를 뺀 나머지 문자 하나
[^0-9]
[a-z]
지정한 범위 안의 문자 하나
[a-z0-9]
[ ]
스페이스 한 칸 — 눈에 보이도록 대괄호에 넣어 쓴 공백 문자
a[ ]b

대괄호 안에서 (Inside a character set)

[\\]
대괄호 안의 역슬래시 — 안에서 항상 이스케이프해야 하는 두 글자 중 하나
[\\/]
[\]]
대괄호 안의 닫는 대괄호 — 항상 이스케이프해야 하는 나머지 하나
[a\]]
[a^]
캐럿(^)은 대괄호의 첫 글자일 때만 부정이고, 그 밖에서는 문자 그 자체
[a^b]
여는 대괄호 바로 뒤에서만 이스케이프하면 됩니다 — [\^a]는 캐럿과 매칭되고, [^a]는 a가 아닌 문자와 매칭됩니다.
[a\-z]
이스케이프한 하이픈 — 문자 사이·숫자 사이에 있는 "-"를 문자 그대로
[a\-z]
하이픈은 두 문자 사이나 두 숫자 사이에 있을 때만 이스케이프가 필요합니다(범위로 읽히기 때문). 대괄호의 처음이나 끝에 있으면 — [-a], [a-] — 이미 문자 그대로입니다.
[.]
마침표 한 글자 — 대괄호 안에서는 이스케이프가 필요 없습니다
3[.]14

수량자 (Quantifiers)

*
앞의 토큰이 0번 이상
ab*
수량자는 반복할 대상 뒤에 옵니다 — ab*는 b를 반복하고, (ab)*는 ab 전체를 반복합니다.
+
앞의 토큰이 1번 이상
ab+
?
0번 또는 1번 — 앞의 토큰을 선택 사항으로 만듭니다
colou?r
{n}
정확히 n번
\d{4}
{n,}
n번 이상
\d{2,}
{n,m}
n번 이상 m번 이하
\d{2,4}
*?
게으른(lazy) 반복 — 가능한 한 적게 매칭합니다
<.*?>
+?
게으른 1번 이상 — 가능한 한 적게 매칭합니다
".+?"

그룹 · 역참조 (Groups & references)

(…)
캡처 그룹 — 매칭된 부분을 기억합니다
(ab)+
잡아 둔 값을 꺼낼 수 있는 메서드는 셋뿐입니다 — string.match(regexp), string.matchAll(regexp), string.replace(regexp, callback).
(?:…)
비캡처 그룹 — 저장하지 않고 묶기만 합니다
(?:ab)+
(?<name>…)
이름 붙인 캡처 그룹
(?<year>\d{4})
|
선택(alternation) — 왼쪽 또는 오른쪽과 매칭
cat|dog
\1
1번 캡처 그룹 역참조(backreference)
(\w)\1
\k<name>
이름 붙인 그룹 역참조
(?<a>\w)\k<a>

전방·후방 탐색 (Lookaround)

(?=…)
긍정 전방 탐색(lookahead) — 뒤에 …가 오는 자리
\d(?=px)
(?!…)
부정 전방 탐색(lookahead) — 뒤에 …가 오지 않는 자리
\d(?!px)
(?<=…)
긍정 후방 탐색(lookbehind) — 앞에 …가 오는 자리
(?<=\$)\d+
(?<!…)
부정 후방 탐색(lookbehind) — 앞에 …가 오지 않는 자리
(?<!\$)\d+

이스케이프 (Escapes)

\.
마침표 문자 그 자체 — 메타 문자를 이스케이프
3\.14
대괄호 밖에서 이스케이프가 필요한 열두 글자입니다 — . ^ $ | \ / ( ) [ ] { }. 대괄호 안에서는 \\와 \] 둘뿐이고, ^와 -는 놓인 자리에 따라 달라집니다.
\^
캐럿(^) 문자 그 자체 — 문자열 시작 기호가 아니라 글자
\^2
\$
달러 기호($) 문자 그 자체 — 문자열 끝 기호가 아니라 글자
\$5
\|
파이프(|) 문자 그 자체 — 선택(alternation)이 아니라 글자
a\|b
\\
역슬래시 문자 그 자체
C:\\dir
\/
슬래시(/) 문자 그 자체 — /…/ 리터럴 안에서는 필수, new RegExp()에서는 선택
https:\/\/
\(
여는 소괄호 문자 그 자체 — 그룹이 아니라 글자
\(note\)
\)
닫는 소괄호 문자 그 자체
\(1\)
\[
여는 대괄호 문자 그 자체 — 문자 클래스가 아니라 글자
\[TODO\]
\]
닫는 대괄호 문자 그 자체
\[x\]
\{
여는 중괄호 문자 그 자체 — 반복 횟수가 아니라 글자
\{name\}
\}
닫는 중괄호 문자 그 자체
\{0\}
\t
탭 문자
a\tb
\n
줄바꿈(라인 피드) 문자
line1\nline2
\r
캐리지 리턴(carriage return) — 윈도우 줄바꿈 CRLF의 앞쪽 절반
line1\r\nline2

플래그 (Flags)

g
전역(global) — 첫 번째만이 아니라 모든 일치를 찾습니다
/\w+/g
i
대소문자를 구분하지 않고 매칭합니다
/abc/i
m
멀티라인(multiline) — ^와 $가 줄 단위로 매칭됩니다
/^a/m
s
닷올(dotall) — .이 줄바꿈에도 매칭됩니다
/a.b/s
u
유니코드 모드 — 코드 포인트 단위로 매칭합니다
/\u{1F600}/u
y
스티키(sticky) — lastIndex 위치에서만 매칭합니다
/\d/y

자주 쓰는 패턴 (Common patterns)

[\w.+-]+@[\w-]+\.[\w.-]+
이메일 주소
you@site.com
https?://\S+
HTTP 또는 HTTPS URL
https://example.com
\b(?:\d{1,3}\.){3}\d{1,3}\b
IPv4 주소
192.168.0.1
#[0-9a-fA-F]{6}\b
16진수 색상 코드
#ff8800
\d{4}-\d{2}-\d{2}
ISO 날짜(YYYY-MM-DD)
2026-08-17

패턴을 직접 입력한 텍스트로 테스트하고 싶나요? Regex Tester 열기 →

규격 원문: MDN — 정규 표현식 가이드 · RegExplained — 패턴 뜯어보기

🔒 정적 레퍼런스입니다 — 업로드되지 않습니다.

검색 가능한 정규식 레퍼런스

토큰·의미·카테고리·예시를 검색해 필요한 문법을 바로 찾으세요. 앵커, 문자 클래스, 수량자, 캡처·비캡처 그룹, 룩어헤드·룩비하인드, 플래그, 그리고 이메일·URL·IPv4·날짜용 자주 쓰는 패턴까지 담았습니다. 각 토큰에는 짧은 예시와 한 번에 복사 버튼이 있습니다. 정적 레퍼런스라 업로드되지 않습니다.

치트시트에서 테스터로

여기서 문법을 확인한 뒤 Regex Tester를 열어 실제 텍스트에 패턴을 실행하고 매치와 캡처 그룹이 실시간으로 강조되는 것을 확인하세요. 이 레퍼런스는 브라우저와 Node.js가 쓰는 JavaScript(ECMAScript) 정규식 문법을 따릅니다.

자주 묻는 질문

어떤 정규식 문법인가요?

JavaScript(ECMAScript) 정규식으로, 브라우저와 Node.js에 내장된 엔진과 동일합니다. 대부분의 토큰은 다른 언어에서도 통하지만 룩비하인드와 이름 있는 그룹 문법은 다를 수 있습니다.

여기서 패턴을 테스트할 수 있나요?

이 페이지는 문법을 찾아보는 레퍼런스입니다. 실제 텍스트에 패턴을 실행하고 매치를 강조해 보려면 연결된 Regex Tester 도구를 여세요.

특수문자 자체를 찾으려면 어떻게 하나요?

앞에 역슬래시를 붙여 이스케이프하면 메타문자가 아니라 보통 글자로 취급됩니다. 예를 들어 점 하나를 글자 그대로 찾으려면 \. 로 씁니다. 치트시트의 Escapes 항목에 자주 쓰는 것들이 정리되어 있습니다.