정규식 치트시트 및 시각화 도구

정규식 기호를 빠르게 익히고, 패턴을 이해하기 쉬운 조각으로 나누어 보고, 직접 입력한 텍스트로 시험해 보세요. 모든 처리는 브라우저 안에서 이루어집니다.

/
/
정규식을 붙여 넣으면 부분별 설명이 표시됩니다.
플래그
구성 요소
위에 패턴을 입력하면 구성 요소가 표시됩니다.

선택 사항입니다. 텍스트를 입력하거나 붙여 넣으면 입력하는 대로 일치 결과가 나타납니다.

치트시트


. 줄바꿈을 제외한 임의의 한 글자 예: a.c
\d 숫자 (0-9) 예: \d+
\D 숫자가 아닌 임의의 글자 예: \D+
\w 단어 문자 (a-z, A-Z, 0-9, _) 예: \w+
\W 단어 문자가 아닌 임의의 글자 예: \W+
\s 공백 문자 예: \s+
\S 공백이 아닌 임의의 글자 예: \S+
^ 텍스트의 시작 예: ^hello
$ 텍스트의 끝 예: world$
\b 단어 경계 예: \bword\b
\B 단어 경계가 아닌 위치 예: \Bword\B
[abc] 문자 집합 예: [abc]+
[^abc] 부정 문자 집합 예: [^abc]+
[a-z] 문자 집합 예: [a-z0-9]+
(abc) 캡처 그룹 예: (abc)
(?:abc) 캡처하지 않는 그룹 예: (?:abc)+
(?<n>) 이름 있는 그룹 예: (?<year>\d{4})
\1 역참조 예: (\w)\1
a|b 선택(또는) 예: cat|dog
? 선택 (0 또는 1) 예: colou?r
* 0번 이상 반복 예: a*
+ 1번 이상 반복 예: a+
{m,n} 지정한 횟수만큼 반복 예: a{2,4}
+? 같은 뜻이지만 가능한 한 짧게 예: <.+?>
(?=) 뒤에 다음이 올 때만 예: foo(?=bar)
(?!) 뒤에 다음이 오지 않을 때만 예: foo(?!bar)
(?<=) 앞에 다음이 있을 때만 예: (?<=\$)\d+
(?<!) 앞에 다음이 없을 때만 예: (?<!\$)\d+
\. 다음 글자를 문자 그대로 취급 예: 3\.14
\n 줄바꿈 예: line\n
\t 예: \tindented

자주 쓰는 검증 패턴


용도패턴설명일치 예
이메일 주소^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$이메일 주소의 일반적인 형태를 검증합니다.user@example.com
전화번호(미국)^\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}$하이픈, 공백, 괄호가 있든 없든 10자리 번호에 일치합니다.123-456-7890
우편번호(미국)^\d{5}(-\d{4})?$5자리와 9자리 우편번호에 일치합니다.90210-1234
날짜 (YYYY-MM-DD)^\d{4}-\d{2}-\d{2}$숫자만으로 된 단순한 날짜 형식에 일치합니다.2026-09-16
IP 주소 (IPv4)^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$IPv4 주소의 형태에 일치하며, 각 부분이 0~255인지까지는 확인하지 않습니다.192.168.1.1

이 패턴들이 확인하는 것은 값의 형태이지 그것이 실제로 존재하는지가 아닙니다. 이메일 패턴에 완벽히 맞아도 도달하지 않는 주소가 있습니다. 오타를 일찍 잡아내는 용도로 쓰되, 유일한 검증으로 삼지 마세요.

이 도구가 제공하는 것


정규식 기호의 간결한 참조, 패턴을 평범한 문장으로 바꿔 주는 분해, 그리고 직접 입력한 텍스트에서 무엇이 일치하는지 보여 주는 시험기입니다.

언제 쓰면 좋은가


패턴을 쓸 때, 남이 쓴 패턴을 읽을 때, 동료에게 정규식 기초를 설명할 때 쓰면 됩니다. 패턴을 조각조각 소리 내어 읽는 것이 대개 이해의 지름길입니다.

한계


분해는 브라우저가 실행하는 자바스크립트 정규식을 따릅니다. 다른 방언은 조금씩 다릅니다. PCRE, Python, Java, .NET은 저마다 고유한 문법을 더하고, grep이나 sed 같은 POSIX 도구는 더 오래되고 작은 문법을 씁니다. 시험기는 패턴을 별도의 스레드에서 실행하고 몇 초 뒤 중단하므로, 끝없이 역추적하는 패턴도 페이지를 멈추게 할 수 없습니다.

치트시트 사용법


기호를 검색하거나, 패턴을 붙여 넣고 한 조각씩 읽어 보세요.

  1. 기호 목록을 훑어보거나 검색합니다.
  2. 패턴을 붙여 넣어 조각으로 나뉜 모습을 봅니다.
  3. 예시 텍스트를 입력해 실제로 무엇이 일치하는지 확인하고 패턴을 다듬습니다.

자주 묻는 질문


이 도구가 제 패턴을 어딘가로 보내나요?
아닙니다. 분해도 일치 검색도 브라우저 안에서 이루어지며, 패턴도 텍스트도 어디로도 전송되지 않습니다.

어떤 정규식 방언을 따르나요?
실제로 일을 하는 엔진이 자바스크립트이므로 자바스크립트 방언입니다. 여기 있는 내용 대부분 — 문자 클래스, 그룹, 수량자, 앵커 — 은 어느 방언에서나 같습니다.

여기서 패턴을 시험할 수 있나요?
네. 시험 상자에 텍스트를 입력하면 일치 부분이 강조되고, 각 일치마다 캡처된 그룹이 함께 표시됩니다.

제 패턴이 왜 중단되었나요?
거의 일치하는 텍스트에서 지수 시간이 걸리는 패턴이 있습니다. 보통은 (a+)+b 처럼 수량자가 겹친 경우입니다. 시험기는 페이지를 멈추게 하는 대신 몇 초 만에 포기하는데, 그 중단 자체가 유용한 경고입니다. 같은 패턴은 서버도 멈추게 합니다.

Wikipedia — Regular expression
Wikipedia — PCRE
Wikipedia — Finite-state machine
Wikipedia — ReDoS
Wikipedia — Backtracking