본문으로 건너뛰기
SPCXTools

정규식 테스터

정규표현식을 작성하고 모든 매칭 항목, 캡처 그룹, 치환 결과를 실시간으로 확인하세요.

로컬 실행 — 파일이 기기 외부로 전송되지 않습니다

도구 불러오는 중…

정규식 테스터 사용 방법

  1. 1Pattern 상자에 정규표현식을 입력하세요. 슬래시는 입력할 필요가 없습니다.
  2. 2g(전체 검색), i(대소문자 무시) 또는 m(다중행)과 같은 플래그를 선택하세요.
  3. 3검색할 텍스트를 Test string에 붙여넣으세요. 매칭되는 항목이 즉시 하이라이트되고 개수가 표시됩니다.
  4. 4표에서 각 매칭 항목의 위치와 캡처 그룹을 확인하세요.
  5. 5Replace를 체크하고 $2: $1과 같은 치환 문자열을 입력하여 String.replace의 결과를 미리 확인하세요.

실시간 정규표현식 테스트

정규표현식은 강력하지만 읽기 어렵기로 유명합니다. 이 정규표현식 테스터는 입력하는 즉시 패턴의 작동 결과를 정확히 보여줍니다. 텍스트 내의 모든 일치 항목을 강조 표시하고, 개수를 세며, 위치 및 캡처 그룹과 함께 목록으로 제공합니다. 바꾸기 미리보기를 통해 코드에 적용하기 전 '찾기 및 바꾸기' 결과를 미리 확인할 수 있습니다. 모든 과정은 브라우저에서 로컬로 실행되며, 백그라운드 워커를 사용해 과도한 패턴 연산으로부터 페이지를 안전하게 보호합니다.

주요 기능

  • 테스트 문자열 내 모든 일치 항목 실시간 강조 표시.
  • g, i, m, s, u에 대한 플래그 토글 및 전체 /pattern/flags 리터럴 표시.
  • 인덱스, 번호 지정 캡처 그룹 및 이름 지정 그룹을 보여주는 일치 항목 테이블.
  • $1, $<name>, $& 및 기타 치환 패턴을 지원하는 바꾸기 미리보기.
  • 잘못된 구문에 대한 명확한 오류 메시지 및 치명적인 백트래킹을 방지하는 1초 안전 타임아웃.

활용 사례

입력값 유효성 검사. 폼(form)에 적용하기 전에 우편번호, 제품 코드 또는 사용자 이름에 대한 패턴을 만들고 유효하거나 유효하지 않은 샘플 목록을 대상으로 테스트하세요.

데이터 추출. 로그 및 문서에서 이메일 주소, URL, 날짜 또는 ID를 추출하세요. 캡처 그룹을 사용하면 각 일치 항목을 사용자 및 도메인과 같은 여러 부분으로 나눌 수 있습니다.

찾기 및 바꾸기. 날짜 형식을 MM/DD/YYYY에서 YYYY-MM-DD로 변경하거나, 변수 이름을 바꾸거나, 내보낸 데이터를 정리하세요. 여기서 바꾸기 결과를 미리 확인한 다음, 편집기나 스크립트에서 동일한 패턴을 그대로 사용하세요.

정규표현식 학습. 수량자, 문자 클래스, 앵커 등을 실험해 보고 그 결과를 즉시 확인하세요.

빠른 참조

구문 의미
. 줄바꿈을 제외한 모든 문자 (s 플래그 사용 시 모든 문자)
\d \w \s 숫자, 단어 문자, 공백
[abc] [^abc] 나열된 문자 중 하나 / 나열된 문자 제외
* + ? 0개 이상, 1개 이상, 0개 또는 1개
{2,5} 2~5회 반복
^ $ 텍스트의 시작과 끝 (m 플래그 사용 시 각 줄의 시작과 끝)
(…) (?<name>…) 캡처 그룹, 이름 지정 그룹
(?:…) 비캡처 그룹
(?=…) (?!…) 전방 탐색, 부정 전방 탐색
\b 단어 경계

수량자는 기본적으로 탐욕적(greedy)으로 동작합니다. 게으른(lazy) 탐색을 하려면 .*?와 같이 ?를 추가하세요. 작업 후 목록을 정리하려면 중복 줄 제거를 사용하거나, 텍스트 비교로 변경 전후를 비교해 보세요.

자주 묻는 질문 (FAQ)

이 테스터는 어떤 정규식 엔진을 사용하나요?
브라우저의 JavaScript(ECMAScript) 정규식 엔진을 사용합니다. Node.js, Deno, 프론트엔드 코드에서 사용하는 것과 동일합니다. 대부분의 문법은 PCRE, Python, Java와 호환되지만, 소유 수량자(possessive quantifiers, 미지원)나 후방 탐색(lookbehind, 최신 브라우저 지원) 등 일부 기능에는 차이가 있습니다.
왜 정규식이 하나의 결과만 찾나요?
g (global) 플래그가 없으면 JavaScript는 첫 번째로 일치하는 항목에서 검색을 멈춥니다. 텍스트에서 모든 결과를 찾으려면 g 플래그를 켜세요.
치환할 때 캡처 그룹을 어떻게 참조하나요?
번호 그룹에는 $1, $2 등을 사용하고, (?<year>\d{4}) 같은 이름 지정 그룹에는 $<name>을 사용하세요. 전체 일치 항목은 $&, 달러 기호 자체는 $$로 입력합니다.
정규식 실행 속도가 너무 느리면 어떻게 되나요?
(a+)+$ 같은 일부 패턴은 특정 입력에서 기하급수적인 시간이 소요될 수 있습니다("catastrophic backtracking"). 이 테스터는 백그라운드 워커에서 정규식을 실행하며 1초가 지나면 강제 종료하므로 브라우저가 멈추지 않습니다. 중첩된 수량자를 피하도록 패턴을 수정해 보세요.
s 및 u 플래그는 어떤 역할을 하나요?
s (dotAll) 플래그를 사용하면 .이 줄바꿈 문자도 포함하여 일치합니다. u (unicode) 플래그는 패턴과 텍스트를 유니코드 코드 포인트로 처리하며, 이모지나 \p{L}(모든 문자) 같은 \p{…} 속성 이스케이프를 사용할 때 필요합니다.
입력한 텍스트가 서버로 전송되나요?
아닙니다. 모든 검색 및 치환 작업은 사용자 브라우저 내에서 로컬로만 실행됩니다.