정규식 테스터
플래그
정규식을 입력하고 테스트할 텍스트를 붙여넣으면, 테스터가 패턴을 실행하고 찾은 모든 일치 항목을 나열합니다. 각 결과는 일치가 어디서 시작되는지와 각 캡처 그룹의 내용을 보여주므로, 패턴이 정확히 무엇을 잡았는지 확인할 수 있습니다. 대소문자 무시, 여러 줄, dotall 플래그를 켜서 패턴의 동작을 바꾸세요.
정규식 테스트 방법
-
1
패턴 입력
구분 기호 없이 식을 입력하면 테스터가 대신 `/ /` 로 감쌉니다. 유효하지 않은 패턴은 조용히 실패하는 대신 명확한 오류 메시지를 표시합니다.
-
2
플래그 선택
필요에 맞게 일치시키도록 `i`(대소문자 무시), `m`(여러 줄), `s`(dotall)를 켜세요.
-
3
테스트 텍스트 붙여넣기
검색할 텍스트를 추가하세요. 테스터는 전체를 훑어 첫 번째만이 아니라 모든 일치 항목을 찾습니다.
-
4
일치 항목 살펴보기
각 일치 항목은 텍스트에서의 위치(offset), 전체 일치, 그리고 번호가 매겨진 각 캡처 그룹을 보여줍니다.
테스터가 보여주는 것
패턴을 머릿속으로, 혹은 빠른 grep 으로 실행하면 무언가 일치하는지는 알 수 있습니다. 테스터는 여기에 더해 다음을 보여줍니다.
- 각 일치 항목과 그 위치. 항상 텍스트 전체를 검색하고, 각 일치를 시작 지점의 문자 오프셋과 함께 보고합니다.
- 어느 그룹이 무엇을 잡았는지. 각 일치는 전체 일치와 번호가 매겨진 캡처 그룹으로 분해되므로, 어떤
(...)가 기대한 부분을 잡았는지 확인할 수 있습니다. - 플래그가 무엇을 바꾸는지.
i,m,s를 켜고 다시 테스트하면, 대소문자 무시·여러 줄·dotall 이 결과를 어떻게 바꾸는지 볼 수 있습니다.
플래그 한눈에 보기
| 플래그 | 이름 | 무엇을 바꾸는가 |
|---|---|---|
i |
대소문자 무시 | A 가 a 에도 일치하고, 그 반대도 |
m |
여러 줄 | ^ 와 $ 가 전체 텍스트뿐 아니라 각 줄의 시작과 끝에서 일치 |
s |
Dotall | . 가 줄바꿈 문자에도 일치 |
일치는 항상 전역입니다. 테스터는 텍스트의 모든 일치 항목을 반환하므로 별도의 “global” 플래그를 설정할 필요가 없습니다. 패턴은 Unicode 지원이 있는 PCRE 엔진에서 실행되므로, \w 나 \d 같은 클래스가 국제 텍스트에서도 일관되게 동작합니다.
이것이 찾아내도록 돕는 흔한 정규식 문제
| 증상 | 흔한 원인 |
|---|---|
| 모든 것을 덮는 하나의 거대한 일치 | .* 는 탐욕적임; .*? 나 [^"]* 같은 부정 클래스를 사용 |
^ 나 $ 가 한 번만 일치 |
여러 줄 텍스트에서 m 플래그 누락 |
. 가 줄바꿈에서 멈춤 |
s 플래그 누락 |
| 캡처 그룹 순서가 예상 밖 | 중첩된 ( 가 그룹 번호를 밀어냄; 왼쪽에서 오른쪽으로 세기 |
| 패턴이 느리게 실행됨 | 겹치는 선택지 위에 중첩된 * 나 + 가 심한 백트래킹을 유발 |
더 빠르고 안전한 패턴을 위한 팁
- 일치가 처음부터 시작할 때는
^로 앵커를 걸어, 엔진이 문자열 전체를 훑지 않게 하세요. - 선택(
a|b|c)보다 문자 클래스([abc])를 우선하세요. 문자 클래스는 모든 주요 엔진에서 더 빠릅니다. - 종료 문자를 알 때는 탐욕적인
.*를[^"]*같은 부정 클래스로 바꾸면 백트래킹이 없습니다.
자주 묻는 질문
PHP 에 내장된 엔진인 PCRE 로 Unicode 모드를 켠 채 패턴을 실행합니다. \d, \b, 룩어라운드 같은 PCRE 고유 구문은 예상대로 동작합니다. JavaScript, Python 등 다른 언어에서 패턴을 배포하려면, 출시 전에 사소한 구문 차이를 확인하세요.
모든 일치입니다. 테스터는 항상 텍스트 전체를 검색하므로 별도의 “global” 플래그를 설정할 필요가 없습니다. 각 일치는 텍스트에서의 위치와 함께 나열됩니다.
네. 각 일치는 전체 일치와 번호가 매겨진 각 캡처 그룹으로 분해되므로, 각 (...) 가 텍스트의 어느 부분을 잡았는지 확인할 수 있습니다.
i 는 일치를 대소문자와 무관하게 만들고, m 은 ^ 와 $ 가 각 줄 경계에서 일치하게 하며, s 는 . 가 줄바꿈 문자에 일치하게 합니다. 켜거나 끄고 다시 테스트해 결과를 비교하세요.
테스터는 조용히 일치 0건을 반환하는 대신, 닫히지 않은 대괄호나 끝나지 않은 그룹처럼 문제를 설명하는 명확한 오류 메시지를 표시합니다.
관련 도구
ASCII 표 참조
NUL, LF, DEL 같은 제어 문자를 포함해 모든 문자에 대한 10진수, 16진수, 8진수, 2진수, HTML 숫자 문자 참조를 담은 0부터 127까지의 전체 ASCII 표.
HTML 문자 참조
HTML 엔티티의 검색 가능한 목록, 각 엔티티의 이름 및 숫자 코드, 그리고 특수 문자 및 기호에 대한 1클릭 복사 기능을 제공합니다.
FPS 카운터
requestAnimationFrame으로 브라우저 FPS를 측정하세요. 스무딩, 최소/최대 프레임레이트, 경고 임계값, 선택형 그래프를 제공합니다. 업로드나 API 없이 로컬에서 실행됩니다.
키보드 단축키 참고표
macOS, Windows, Linux에서 VS Code, Chrome, GNU Readline을 쓰는 Bash의 문서화된 기본 단축키를 검색합니다.
색상 틴트 생성기
기준 색의 밝은 틴트를 생성합니다. 디자인 시스템 토큰, 배경, 호버 상태를 위한 3-20단계 스케일.
이메일 검증기
이메일 주소를 검증합니다. RFC 5322 구문 검사, 실시간 MX 레코드 조회, 그리고 로컬 파트, 도메인, 길이 정보를 제공합니다. 이메일은 전송되지 않습니다.
이 도구는 다른 언어로도 제공됩니다
- أداة اختبار Regex [AR]
- Testeur de Regex [FR]
- Penguji Regex [ID]
- Regex-Tester [DE]
- Tester Regex [PL]
- Regex-tester [NL]
- Regex-testare [SV]
- ตัวทดสอบ Regex [TH]
- 正規表現テスター [JA]
- Trình kiểm tra Regex [VI]
- Probador de Regex [ES]
- Testador de Regex [PT]
- Regex Test Aracı [TR]
- 正则测试器 [ZH]
- Regex Tester [EN]
- Tester di Regex [IT]
- Тестер Regex [RU]