정규 표현식 테스트 방법
- 슬래시 사이에 패턴을 입력하세요. 슬래시는 직접 넣지 마세요.
- g(일치하는 항목 모두 찾기)나 i(대소문자 무시) 같은 플래그를 고르세요.
- 검색할 텍스트를 붙여 넣으세요. 입력하는 대로 일치하는 부분이 강조되고, 표에 각 일치 항목의 위치와 캡처 그룹이 나옵니다.
- 필요하면 바꿀 내용을 입력해 찾아 바꾸기 결과를 미리 보세요.
이 테스터는 브라우저의 JavaScript 정규식 엔진을 쓰므로, 결과는 JavaScript와 TypeScript에서 String.match, matchAll, replace가 실제로 내는 결과와 똑같습니다. 대부분의 문법은 Python, PHP, Java, C#에서도 같지만, 후방 탐색(lookbehind), 이름 있는 그룹, 유니코드 클래스는 조금 다를 수 있습니다.
정규식 요약표
. | 줄바꿈을 뺀 모든 문자 |
|---|---|
\d \w \s | 숫자, 단어 문자(영문자, 숫자, _), 공백 문자 |
\D \W \S | 숫자가 아닌 문자, 단어 문자가 아닌 문자, 공백이 아닌 문자 |
[abc] [^abc] [a-z] | a, b, c 중 하나 · a, b, c를 뺀 모든 문자 · 범위 |
* + ? | 0번 이상 · 1번 이상 · 0번 또는 1번 |
{3} {2,5} | 정확히 3번 · 2번에서 5번 사이 |
^ $ \b | 시작 · 끝 · 단어 경계 |
(…) (?:…) (?<name>…) | 캡처 그룹 · 캡처하지 않는 그룹 · 이름 있는 그룹 |
a|b | a 또는 b |
(?=…) (?!…) | 뒤에 …가 오는 위치 · 뒤에 …가 오지 않는 위치 |
\p{L} | 모든 언어의 모든 글자 (u 플래그 필요) |
자주 묻는 질문
어떤 패턴에서는 왜 페이지가 멈추나요?
(a+)+$처럼 반복이 중첩된 패턴은 특정 입력에서 엄청나게 오래 걸릴 수 있습니다(“치명적 백트래킹”). 반복되는 그룹을 더 구체적으로 만들어 피하세요.