정규식 치트 시트
일반적인 정규식 문법을 코드에 붙여 넣기 전에 이 대화형 참조에서 비교하세요. JavaScript, PCRE2/PHP, Python re, .NET 또는 전체 엔진 보기를 고른 다음 주제를 선택하고 표시된 항목을 검색할 수 있습니다. 한 엔진에서 컴파일되는 토큰이 다른 엔진에서는 거부되거나 다른 의미가 될 수 있으므로, 특정 계열에만 해당하는 문법을 표시합니다. 검색과 복사는 브라우저에서 수행되며 이 페이지는 사용자의 텍스트에 패턴을 실행하지 않습니다.
정규식 치트 시트 사용 방법
-
1
엔진 선택
JavaScript, PCRE2/PHP, Python re, .NET 중 하나로 시작하거나 모두 비교하세요. 집중 보기에서는 선택한 엔진에 적용되지 않는 항목을 생략합니다.
-
2
주제 선택
앵커, 문자 클래스, 수량자, 그룹, 전후방 탐색, 일반 패턴 형태 또는 플래그와 옵션을 엽니다.
-
3
로컬에서 검색 및 복사
페이지에서 토큰과 설명을 검색하고 토큰을 선택해 복사하세요. 검색 텍스트는 서버로 전송되거나 URL에 추가되지 않습니다.
-
4
실제 런타임에서 확인
프로젝트에서 사용하는 엔진, 플래그, API로 최종 표현식을 컴파일하고 테스트하세요. 이 참조는 문법을 설명할 뿐 프로덕션 데이터를 검증하지 않습니다.
호환성이 중요합니다
정규식은 하나의 범용 언어가 아닙니다. 이 빠른 참조는 비슷해 보이지만 엔진 사이에서 그대로 옮겨지지 않는 문법을 구분합니다.
| 기능 | JavaScript RegExp | PCRE2 / PHP | Python re |
.NET |
|---|---|---|---|---|
| 절대 시작 | \A 없음 |
\A |
\A |
\A |
| 절대 끝 | \z 없음 |
\z |
\Z |
\z |
Unicode 속성 \p{L} |
u 또는 v 모드 사용 |
지원 | 내장 re에서는 미지원 |
지원 |
| 이름 있는 캡처 | (?<name>...) |
(?<name>...) 또는 (?P<name>...) |
(?P<name>...) |
(?<name>...) |
| 이름 있는 역참조 | \k<name> |
\k<name> 또는 (?P=name) |
(?P=name) |
\k<name> |
| 전역 일치 | g 플래그와 일치 API |
preg_match_all 같은 반복 일치 API |
finditer 같은 반복 일치 API |
Matches 같은 반복 일치 API |
\d와 \w는 특히 주의해야 합니다. JavaScript에서 \d는 ASCII 숫자 0-9로 남고, u를 추가해도 \w는 본질적으로 ASCII 단어 문자입니다. 다른 엔진은 모드와 구성에 따라 Unicode 인식 규칙을 적용할 수 있습니다. Unicode 동작이 중요하다면 필요한 정확한 속성이나 클래스를 작성하고 테스트하세요.
앵커와 경계
| 토큰 | 나타내는 것 | 이식성 참고 |
|---|---|---|
^ |
입력 시작 또는 여러 줄 모드의 행 시작 | 네 계열 모두에서 사용할 수 있습니다. |
$ |
입력 끝 또는 여러 줄 모드의 행 끝 | 네 계열 모두에서 사용할 수 있으나 마지막 줄 바꿈 세부 사항은 다릅니다. |
\b |
단어 경계 | 단어 문자로 간주되는 범위는 엔진과 모드에 따라 달라집니다. |
\A |
대상 문자열의 절대 시작 | PCRE2, Python, .NET에서 사용 가능하며 JavaScript에서는 불가합니다. |
\z |
대상 문자열의 절대 끝 | PCRE2와 .NET에서 사용하며 Python은 \Z를 사용합니다. |
\Z |
Python 대상 문자열 끝 | PCRE2와 .NET도 마지막 줄 바꿈 앞에서 일치할 수 있으며, 절대 끝에는 \z를 사용합니다. |
그룹과 전후방 탐색
| 토큰 | 의미 | 중요한 제한 |
|---|---|---|
(abc) |
캡처 그룹 | 네 계열 모두에서 사용할 수 있습니다. |
(?:abc) |
비캡처 그룹 | 네 계열 모두에서 사용할 수 있습니다. |
(?<name>abc) |
이름 있는 그룹 | JavaScript, PCRE2, .NET 문법입니다. |
(?P<name>abc) |
이름 있는 그룹 | Python 문법이며 PCRE2도 허용합니다. |
(?=abc) / (?!abc) |
긍정 / 부정 전방 탐색 | 네 계열 모두에서 사용할 수 있습니다. |
(?<=abc) / (?<!abc) |
긍정 / 부정 후방 탐색 | 네 계열 모두 지원하지만 허용되는 후방 탐색 길이는 다릅니다. |
후방 탐색은 흔한 이식성 함정입니다. Python re에는 고정 폭 후방 탐색이 필요합니다. JavaScript 지원은 배포하는 런타임에 따라 다릅니다. 치트 시트 한 줄만 믿지 말고 지원하는 가장 오래된 런타임에서 정확한 패턴을 테스트하세요.
완전한 검증기가 아닌 패턴 형태
일반 패턴 항목은 의도적으로 형태만 설명합니다. 예를 들어 ^\d{4}-\d{2}-\d{2}$는 2026-99-99를 받아들이고, 단순한 이메일 형태 패턴은 완전한 이메일 주소 표준을 구현할 수 없습니다. 초기 형식 확인 후에는 적절한 라이브러리로 날짜, URL, 구조화된 식별자를 파싱하세요.
| 형태 | 예시 패턴 | 증명하지 못하는 것 |
|---|---|---|
| 부호 있는 소수 | ^-?\d+(?:\.\d+)?$ |
로캘 소수 기호, 그룹화, 숫자 범위 또는 정밀도. |
| 이메일 형태 텍스트 | ^[\w.+-]+@[\w-]+\.[\w.-]+$ |
전달 가능하거나 표준을 완전히 충족하는 이메일 주소. |
| HTTP(S) URL 형태 텍스트 | ^https?://\S+$ |
안전하고 파싱 가능하거나 도달 가능한 URL. |
| ISO 날짜 형태 | ^\d{4}-\d{2}-\d{2}$ |
실제 달력 날짜. |
| ASCII 슬러그 문자 | ^[A-Za-z0-9_-]+$ |
애플리케이션의 대소문자, 구분자 또는 예약어 규칙. |
플래그와 옵션
호스트 API를 확인하기 전에는 플래그를 복사하지 마세요. JavaScript는 /pattern/g로 쓰고, Python은 re.I 또는 re.X를 전달하며, .NET은 RegexOptions를 사용할 수 있고 PCRE2/PHP는 보통 구분자와 뒤따르는 수정자를 사용합니다. g는 JavaScript 전역 일치 플래그이지 PCRE2 수정자가 아닙니다. 반복 PCRE2 일치는 보통 PHP API가 제어합니다. 확장 모드 x는 PCRE2, Python, .NET에서 사용할 수 있지만 JavaScript 플래그는 아닙니다.
자주 묻는 질문
아니요. 브라우저 로컬 검색 및 복사 기능이 있는 문법 참조입니다. 정규식 테스터와 애플리케이션에서 쓰는 런타임으로 패턴을 컴파일하고 대표 입력을 테스트하세요.
익숙해 보이는 토큰 중에도 이식할 수 없는 것이 있습니다. 예를 들어 Python 내장 re는 이름 있는 그룹에 (?P<name>…)를 사용하고 JavaScript는 (?<name>…)를 사용하며, JavaScript는 절대 앵커 \A나 \z를 지원하지 않습니다.
아니요. JavaScript에서 \d는 ASCII 숫자이고 u 플래그가 있어도 \w는 본질적으로 ASCII 단어 문자입니다. 다른 엔진에는 다른 Unicode 모드와 옵션이 있으므로 데이터에 필요한 동작을 테스트하세요.
빠른 형태 확인용으로만 사용하세요. 이메일이 전달 가능한지, URL이 안전하거나 도달 가능한지, 날짜가 달력에 존재하는지는 증명하지 않습니다. 프로덕션 규칙에는 전용 파서나 검증기를 사용하세요.
관련 도구
보색 찾기
어떤 입력에 대해서도 보색을 찾습니다. HSL 반대 색, 분할 보색 쌍, 그리고 접근성 있는 조합 제안을 반환합니다.
Webpack 설정 생성기
순수 JavaScript, React, Vue용 webpack 5 webpack.config.js를 만드세요. TypeScript, Babel, CSS 또는 Sass, 이미지, HtmlWebpackPlugin, 개발 서버, npm install 명령까지 함께 제공합니다.
색상 혼합기
두 HEX 색상을 2-20개의 균등한 색상 견본으로 섞습니다. 양 끝 색상을 포함해 각 중간 색상을 대문자 HEX 코드로 확인하세요.
PHP 포매터
간단한 PHP 코드에 줄바꿈과 2칸 또는 4칸 들여쓰기를 추가합니다. 결과를 반드시 검토하세요. PHP 파서나 PSR-12 적용 도구가 아닙니다.
OpenAPI 검증기
OpenAPI 또는 Swagger 문서를 JSON이나 YAML로 붙여넣고 핵심 구조를 점검하세요: 버전 필드, info 객체, paths를 명확한 오류와 경고와 함께 확인합니다.
CSS 로딩 애니메이션 생성기
순수 CSS로 원형 스피너를 만듭니다. 지름, 테두리 두께, 포인트 색상, 회전 속도를 설정하고 미리 보기를 확인한 뒤 바로 쓸 수 있는 CSS를 복사하세요. SVG도 자바스크립트도 필요 없습니다.
이 도구는 다른 언어로도 제공됩니다
- ชีตสรุป Regex [TH]
- Ściąga regex [PL]
- Guía rápida de regex [ES]
- 正規表現チートシート [JA]
- Folha de consulta de regex [PT]
- Aide-mémoire regex [FR]
- Bảng Tra Regex [VI]
- ورقة غش للتعبيرات النمطية [AR]
- Regex-lathund [SV]
- Regex-spiekbriefje [NL]
- Regex-Spickzettel [DE]
- Lembar Ringkas Regex [ID]
- Regex Cheat Sheet [EN]
- Guida rapida alle regex [IT]
- Шпаргалка по регулярным выражениям [RU]
- Regex başvuru kılavuzu [TR]
- 正则表达式速查表 [ZH]