RX?정규식 치트시트
검색 가능한 정규식 레퍼런스 — 메타문자·수량자·그룹·플래그·자주 쓰는 패턴 (이메일/URL/전화/IP/UUID)
기본 메타문자
| 패턴 | 설명 | 예시 | |
|---|---|---|---|
| . | 줄바꿈 제외 아무 문자 1개 | a.c | |
| ^ | 줄/문자열 시작 | ^Hello | |
| $ | 줄/문자열 끝 | end$ | |
| \\ | 백슬래시 자체 | - | |
| | | OR (a 또는 b) | cat|dog |
수량자 (반복)
| 패턴 | 설명 | 예시 | |
|---|---|---|---|
| * | 0개 이상 | ab*c | |
| + | 1개 이상 | ab+c | |
| ? | 0~1개 (선택) | colou?r | |
| {n} | 정확히 n개 | a{3} | |
| {n,} | n개 이상 | a{2,} | |
| {n,m} | n~m개 | a{2,4} | |
| *? | 0개 이상 (lazy) | a.*?b | |
| +? | 1개 이상 (lazy) | - |
문자 클래스
| 패턴 | 설명 | 예시 | |
|---|---|---|---|
| [abc] | a, b, c 중 하나 | - | |
| [^abc] | a, b, c 가 아닌 것 | - | |
| [a-z] | 소문자 범위 | - | |
| [A-Z] | 대문자 범위 | - | |
| [0-9] | 숫자 범위 | - | |
| \d | 숫자 [0-9] | - | |
| \D | 숫자 아님 [^0-9] | - | |
| \w | 단어문자 [A-Za-z0-9_] | - | |
| \W | 단어문자 아님 | - | |
| \s | 공백 (스페이스, 탭, 개행) | - | |
| \S | 공백 아님 | - | |
| \b | 단어 경계 | - | |
| \B | 단어 경계 아님 | - |
그룹과 참조
| 패턴 | 설명 | 예시 | |
|---|---|---|---|
| (...) | 캡처 그룹 | (\d+) | |
| (?:...) | 비캡처 그룹 | - | |
| (?<name>...) | 이름 그룹 | (?<year>\d{4}) | |
| \1 | 그룹 1 역참조 | - | |
| (?=...) | 긍정 전방탐색 | foo(?=bar) | |
| (?!...) | 부정 전방탐색 | foo(?!bar) | |
| (?<=...) | 긍정 후방탐색 | - | |
| (?<!...) | 부정 후방탐색 | - |
플래그
| 패턴 | 설명 | 예시 | |
|---|---|---|---|
| g | global - 모든 매칭 | - | |
| i | ignore case - 대소문자 무시 | - | |
| m | multiline - ^$ 줄별 적용 | - | |
| s | dotAll - .이 개행 포함 | - | |
| u | unicode 모드 | - | |
| y | sticky - lastIndex부터 | - |
자주 쓰는 정규식
이메일
^[\w.+-]+@[\w-]+\.[\w.-]+$
예시: user@example.com
URL (HTTP/HTTPS)
^https?://[\w.-]+(?:/[^\s]*)?$
예시: https://example.com/path
한국 휴대폰
^01[016789]-?\d{3,4}-?\d{4}$
예시: 010-1234-5678
IPv4 주소
^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$
예시: 192.168.1.1
IPv6 주소 (단순)
^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$
예시: 2001:0db8:85a3:0000:0000:8a2e:0370:7334
날짜 YYYY-MM-DD
^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$
예시: 2024-12-31
시간 HH:MM (24h)
^([01]\d|2[0-3]):[0-5]\d$
예시: 14:30
HEX 색상
^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$
예시: #3b82f6
한글 (음절)
[\uAC00-\uD7A3]+
예시: 안녕하세요
주민등록번호 (단순)
^\d{6}-[1-4]\d{6}$
예시: 990101-1234567
비밀번호 (강함: 영대소문자+숫자+특수, 8자+)
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*]).{8,}$
예시: Passw0rd!
신용카드 (16자리, 공백/대시)
^(?:\d{4}[ -]?){3}\d{4}$
예시: 4111-1111-1111-1111
한국 사업자등록번호
^\d{3}-\d{2}-\d{5}$
예시: 123-45-67890
한국 우편번호 (5자리)
^\d{5}$
예시: 06236
UUID v4
^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
예시: 550e8400-e29b-41d4-a716-446655440000
정수
^-?\d+$
예시: -42
실수 (소수 포함)
^-?\d+(\.\d+)?$
예시: -3.14
공백 줄
^\s*$
예시: (blank line)
HTML 태그
<\/?[a-z][\s\S]*?>
예시: <div class="x">
Slug (URL 친화)
^[a-z0-9]+(?:-[a-z0-9]+)*$
예시: hello-world-123
정규식 치트시트란?
정규식(Regex)은 메타문자가 많고 문법이 압축적이라 자주 잊혀집니다. 이 치트시트는 메타문자·수량자·문자 클래스·그룹·플래그를 한눈에 모아 두었으며, 실무에서 자주 쓰이는 이메일·URL·전화번호·IP·날짜·UUID 등 검증 패턴을 즉시 복사할 수 있게 제공합니다. 검색창에 키워드를 입력하면 모든 항목을 빠르게 필터링할 수 있습니다.
실시간 매칭 테스트가 필요하다면 regex-tester 도구를 함께 사용하세요.