본문 바로가기

정규식 테스터

정규식을 입력해 실시간으로 매칭 결과와 캡처 그룹을 하이라이트합니다. 자주 쓰는 패턴 예제 제공.

브라우저에서 로컬 처리 · 서버 업로드 없음

슬래시는 자동으로 처리됩니다. 패턴만 입력하세요.

플래그
0
매치 수
0
캡처 그룹 수
하이라이트 미리보기

매치 결과

아직 매치가 없습니다.

치환 미리보기

정규식 테스터 소개

정규식 테스터는 패턴을 입력하면 테스트 문자열에서 매치된 부분을 즉시 색칠해 보여 주고, 캡처 그룹별 결과와 치환 미리보기까지 확인할 수 있습니다. 정규식은 머릿속으로 맞는지 따지기 어려운 도구라, 실제 데이터에 대고 돌려 보는 것이 가장 빠릅니다.

엔진은 브라우저에 내장된 자바스크립트(ECMAScript) 정규식을 그대로 씁니다. 여기서 나온 패턴이 파이썬이나 자바, PCRE에서 똑같이 동작한다고 가정하면 안 됩니다. 룩비하인드 지원 범위가 다르고 \A·\z 같은 표현은 자바스크립트에 없습니다. 플래그도 결과를 크게 바꿉니다. g를 켜면 문자열 전체에서 모든 매치를 찾고 끄면 첫 번째만 찾으며, 치환 미리보기도 마찬가지로 한 번만 바뀝니다. m^$가 줄 단위로 동작하게 만들고, s를 켜면 .이 줄바꿈까지 포함합니다.

정규식에서 가장 자주 나오는 실수는 탐욕적 매칭입니다. <.*>로 태그를 잡으려 하면 *가 가능한 한 길게 먹으려 들어 첫 태그부터 마지막 태그까지 통째로 잡힙니다. 이럴 때는 <.*?>처럼 ?를 붙여 최소한만 매치하게 하거나 <[^>]*>로 범위를 제한합니다. 치환에서는 $1·$2로 번호 그룹을, $<name>으로 이름 그룹을, $&로 전체 매치를 참조할 수 있습니다. 복잡한 패턴은 한 번에 완성하려 하지 말고 작은 조각부터 붙여 가며 결과를 확인하는 편이 훨씬 빠릅니다.

사용 방법

  1. 정규식 패턴칸에 패턴을 입력하세요. 슬래시(/)는 직접 쓰지 않아도 됩니다.
  2. 필요한 플래그(g 전역, i 대소문자 무시, m 멀티라인 등)를 체크하세요.
  3. 테스트 문자열에 검사할 텍스트를 붙여넣으면 매치된 부분이 실시간으로 하이라이트됩니다.
  4. 매치 목록과 캡처 그룹 표에서 그룹별 결과를 확인하세요.
  5. 치환 기능이 필요하면 치환 문자열$1 같은 참조를 넣어 미리보기를 확인할 수 있습니다.

자주 묻는 질문

어떤 정규식 문법을 지원하나요?
브라우저에 내장된 자바스크립트(ECMAScript) 정규식 엔진을 그대로 사용합니다. 따라서 자바스크립트의 RegExp 문법과 동일하게 동작합니다. PCRE·Python·Java 등 다른 언어의 정규식과는 일부 문법(룩비하인드 지원 범위, \A·\z 등)이 다를 수 있습니다.
플래그 g(전역)는 언제 켜야 하나요?
g를 켜면 문자열 안의 모든 매치를 찾고, 끄면 첫 번째 매치만 찾습니다. 치환 미리보기에서도 g가 꺼져 있으면 첫 매치 한 번만 치환됩니다. 여러 곳을 한꺼번에 바꾸려면 g를 켜세요.
치환 문자열에서 캡처 그룹은 어떻게 참조하나요?
$1, $2 … 로 번호 그룹을, $<name> 로 이름 그룹을 참조합니다. 전체 매치는 $& 로 넣을 수 있습니다. 이는 자바스크립트 String.replace() 규칙과 같습니다.
검사가 멈추거나 브라우저가 느려집니다.
파국적 백트래킹일 가능성이 큽니다. (a+)+처럼 수량자가 중첩된 패턴은 매치에 실패할 때 경우의 수가 폭발적으로 늘어 사실상 끝나지 않습니다. 중첩된 수량자를 풀고, 가능하면 [^x]*처럼 범위를 명확히 제한한 패턴으로 바꾸세요.

관련 가이드