본문으로 건너뛰기
SDETRole
SDETRole

JSON·데이터

정규식(Regex) 테스터

실시간 하이라이트, 그룹, 치환 미리보기로 JS 정규식을 테스트합니다.

브라우저에서만 실행됩니다 회원가입 불필요

Flags
QA patterns:

Test string

0 chars

Highlighted · 0 matches

Matches are highlighted here.

Replace preview

Enable to preview String.replace with your pattern, for example to mask emails or tokens in logs.

도구 소개

정규 표현식은 테스트 코드에 늘 등장합니다. 로그 라인 어설션, 응답에서 ID 추출, 형식 검증, 리포트의 비밀 정보 마스킹 등입니다. 이 테스터는 브라우저 자체 JavaScript RegExp 엔진을 사용하므로 결과가 Playwright, Cypress, Jest, Node의 동작과 일치합니다. 입력하는 동안 매치가 하이라이트되고, 모든 캡처 그룹(번호 및 이름)이 위치와 함께 나열되며, 치환 미리보기는 String.replace의 결과를 보여 줍니다. 매칭은 1.5초 후 중단되는 백그라운드 워커에서 실행되므로 치명적 백트래킹 패턴이 페이지를 멈추게 할 수 없습니다.

사용 방법

  1. 양쪽 슬래시 없이 패턴을 입력하고 필요한 플래그(g, i, m, s, u, y)를 켜세요.
  2. 테스트 문자열을 붙여 넣거나, QA 패턴 중 하나를 클릭해 패턴과 일치하는 샘플 텍스트를 불러오세요.
  3. 하이라이트된 텍스트와 매치 표에서 그룹과 인덱스를 확인하세요.
  4. “Replace preview”(치환 미리보기)를 켜고 $1, $<name>, $&를 사용한 치환을 시험해 보세요.

정규식(Regex) 테스터 자주 묻는 질문

여기서 동작하는 패턴이 Java나 Python에서도 동작하나요?

대부분 그렇지만 항상은 아닙니다. 기본 문법은 공통이지만, 이름 있는 그룹은 JavaScript와 Java에서 (?<name>), Python에서 (?P<name>)로 쓰고, 후방 탐색 지원 범위가 다르며, s와 y 플래그는 JavaScript 전용입니다. 고급 기능은 대상 언어에서 테스트하세요.

테스터가 왜 시간 초과로 멈췄나요?

(a+)+나 (.*)*처럼 중첩된 수량자가 있는 패턴은 거의 일치하는 입력에서 지수 시간이 걸릴 수 있습니다. 이를 치명적 백트래킹이라고 하며, 같은 패턴이 테스트 실행이나 서버를 멈추게 할 수 있습니다(ReDoS). 안쪽 수량자를 더 구체적으로 만들거나 중첩을 없애세요.

왜 매치가 하나만 보이나요?

g(global) 플래그가 없으면 JavaScript 정규식은 첫 번째 매치 후 멈춥니다. 모든 일치 항목을 찾으려면 g를 켜세요. String.prototype.matchAll과 replaceAll도 이 플래그가 필요합니다.

SDETRole 전체에서 검색할 내용을 입력하세요.

Pagefind 전문 검색 · 브라우저에서 실행됩니다 검색 페이지 열기 →