본문으로 건너뛰기

정규식 테스트 — 온라인 JavaScript 정규표현식 테스터

JavaScript 정규표현식을 온라인으로 테스트하세요. 실시간 매치 강조, 캡처 그룹과 이름 있는 그룹, 모든 플래그, 치환 미리 보기 지원. 느린 패턴은 1초 후 중단됩니다.

브라우저에서 변환 · 가입 불필요

//g
플래그
치트 시트
.
줄바꿈을 제외한 모든 문자(s 플래그를 쓰면 줄바꿈 포함)
\d \w \s
숫자, 단어 문자 [A-Za-z0-9_], 공백 문자
\D \W \S
숫자 아님, 단어 문자 아님, 공백 아님
[abc] [^abc]
a, b, c 중 하나 / a, b, c를 제외한 모든 문자
[a-z]
a부터 z까지의 모든 문자
^ $
입력의 시작 / 끝(m 플래그에서는 각 줄의 시작 / 끝)
\b
단어 경계
* + ?
0번 이상, 1번 이상, 0번 또는 1번
{2,5}
2–5번({3}은 정확히 3번, {2,}는 2번 이상)
*? +?
게으른(lazy) 버전: 가능한 한 적게 매치
(abc)
캡처 그룹
(?<name>abc)
이름 있는 캡처 그룹
(?:abc)
캡처하지 않는 그룹
\1 \k<name>
그룹 1 / 이름 있는 그룹이 매치한 내용을 반복
a|b
a 또는 b
(?=a) (?!a)
뒤에 a가 옴 / 뒤에 a가 오지 않음
(?<=a) (?<!a)
앞에 a가 있음 / 앞에 a가 없음
\p{L}
모든 언어의 모든 글자(u 또는 v 플래그 필요)

브라우저의 JavaScript(ECMAScript) 정규식 엔진을 사용하므로 결과가 JavaScript 코드와 같습니다. PCRE, Python, Java 같은 다른 엔진은 일부 문법이 다릅니다. 매칭은 백그라운드 Worker에서 실행되며, 치명적인 백트래킹으로부터 페이지를 보호하기 위해 1초 후 중단됩니다.

사용 방법

  1. 정규표현식을 입력하고 필요한 플래그를 체크합니다(g는 모든 매치를 찾음).
  2. 테스트할 텍스트를 붙여 넣으세요. 매치가 강조되고 인덱스와 캡처 그룹과 함께 목록으로 표시됩니다.
  3. ‘치환’을 켜면 $1이나 $<name> 참조를 쓴 String.replace 결과를 미리 볼 수 있습니다.

예제

패턴: (?<user>\w+)@(\w+)\.com  플래그: g
텍스트: [email protected], [email protected]
매치: [email protected](user = alice, 2 = example), [email protected]
$<user> at $2로 치환 → alice at example, bob at test

세부 정보 및 제한 사항

패턴은 브라우저에 내장된 JavaScript RegExp 엔진으로 실행되므로 후방 탐색, 이름 있는 그룹, 유니코드 속성 이스케이프, d 플래그가 코드에서와 똑같이 동작합니다. v 플래그는 브라우저가 지원할 때만 표시됩니다.

매칭은 기기의 Web Worker에서 이루어지며 아무것도 업로드되지 않습니다. 한 번 실행은 약 1초 후 중단되며, 매치는 최대 1,000개까지 표시됩니다.

FAQ

정규식이 왜 매치를 하나만 찾나요?

JavaScript에서 g(전역) 플래그가 없는 정규식은 첫 번째 매치에서 멈춥니다. g를 체크하면 모든 매치를 찾으며, 이 테스터가 모두 목록으로 보여 줍니다.

치명적인 백트래킹이란?

(a+)+$나 (.*)* 같은 일부 패턴은 거의 일치하는 텍스트에서 지수적으로 오래 걸릴 수 있습니다. 이 도구는 정규식을 별도의 Worker에서 실행하고 1초 후 중단하므로, 페이지는 응답성을 유지하고 대신 오류를 표시합니다.

여기서 테스트한 정규식이 Python이나 PHP에서도 동작하나요?

대개는 되지만 항상 그렇지는 않습니다. 이 테스터는 JavaScript 엔진을 사용합니다. Python, PHP(PCRE), Java는 이름 있는 그룹, 후방 탐색, 플래그 같은 기능과 문법이 다르므로, 이런 기능에 의존하는 패턴은 다시 확인하세요.

형식 참고 자료

도구 페이지 업데이트: