업로드 없음, 100% 로컬, 계정 없음

정규식 테스터

패턴을 입력하고 플래그를 선택해 텍스트에 대해 테스트하세요. 일치 항목이 인라인으로 강조됩니다. 캡처 그룹이 일치마다 나열됩니다. 아무것도 브라우저를 떠나지 않습니다.

정규식 테스터 작동 방식

정규식 테스터는 JavaScript 정규 표현식을 작성하고 샘플 텍스트를 붙여넣어 모든 일치 항목을 실시간으로 강조 표시해 줍니다. 캡처 그룹은 텍스트 아래 표에 표시되므로 스크립트를 실행하지 않고도 각 그룹이 캡처한 내용을 확인할 수 있습니다. 지원되는 플래그는 g(전체), i(대소문자 무시), m(멀티라인), s(dotAll), u(유니코드), y(sticky)입니다. 입력한 내용은 기기를 벗어나지 않습니다. 매칭 엔진은 서버가 아닌 브라우저 탭에 내장된 JavaScript 런타임입니다.

내부적으로 이 도구는 입력한 패턴과 플래그로 표준 ECMAScript RegExp 생성자를 호출한 뒤, 문자열 matchAll 이터레이터로 모든 Match 객체를 수집합니다. 그룹 표는 해당 객체에서 직접 구성되므로, 화면에 표시되는 내용이 프로덕션 코드에서 Node.js나 브라우저가 반환하는 것과 정확히 동일합니다. 중간 변환 레이어는 없습니다.

정규식 테스터 단계별 사용 방법

  1. 패턴 필드에 정규 표현식을 입력하거나 붙여넣습니다.
  2. 체크박스를 사용해 필요한 플래그(g, i, m, s, u, y)를 선택합니다.
  3. 테스트할 텍스트를 샘플 영역에 붙여넣습니다.
  4. 텍스트에서 강조된 일치 항목과 아래의 캡처 그룹 표를 확인합니다.
  5. 패턴을 수정하면서 결과가 실시간으로 업데이트되는 것을 확인합니다.

자주 사용되는 사례

  • 데이터 파이프라인에 커밋하기 전에 이메일 추출 패턴이 플러스 주소 지정 같은 엣지 케이스를 올바르게 처리하는지 검증합니다.
  • 로그 라인 파싱용 명명된 캡처 그룹을 디버깅하며 실제 로그 샘플과 각 그룹 값을 대조합니다.
  • u 플래그가 있는 URL 매칭 정규식이 라우터에 추가하기 전에 유니코드 도메인 이름을 올바르게 처리하는지 확인합니다.
  • 대형 설정 파일에서 의도치 않은 탐욕적 일치가 없는지 검색-교체 패턴을 대화형으로 테스트합니다.

자주 묻는 질문

입력한 내용이 서버로 전송되나요?

아니요. 매칭은 내장 JavaScript RegExp 엔진을 사용해 이 브라우저 탭 안에서만 실행됩니다. 패턴, 플래그, 샘플 텍스트는 어디에도 전송되지 않습니다. 입력하는 동안 DevTools의 네트워크 탭을 열어 확인해 보세요. 요청이 하나도 발생하지 않습니다.

이 테스터는 어떤 정규식 방식을 사용하나요?

브라우저가 구현한 ECMAScript(ES2022+)입니다. Node.js, Deno, 최신 브라우저에서 사용되는 것과 동일한 방식입니다. 가변 길이 룩비하인드나 소유적 수량자 같은 PCRE 전용 기능은 지원되지 않지만, 대부분의 일반적인 패턴은 동일하게 작동합니다.

잘못된 정규식이라는 오류가 왜 발생하나요?

브라우저의 RegExp 생성자는 유효한 ECMAScript 정규식이 아닌 패턴에 대해 SyntaxError를 발생시킵니다. 일반적인 원인으로는 이스케이프되지 않은 백슬래시, 닫히지 않은 그룹, u 플래그 없이 사용된 유니코드 속성 이스케이프(\p{...}) 등이 있습니다.

캡처 그룹 표에는 무엇이 표시되나요?

g 플래그에 따라 발견된 모든 일치 항목에 대해 전체 일치 내용과 순서대로 번호 또는 이름이 붙은 각 그룹을 표시합니다. 명명된 그룹은 이름이 열 헤더로 표시됩니다. 일치에 참여하지 않은 그룹은 빈 값으로 표시됩니다.

룩비하인드를 사용하는 패턴을 테스트할 수 있나요?

브라우저가 지원하는 고정 길이 또는 가변 길이 룩비하인드라면 가능합니다. Chrome과 Firefox는 2020년부터, Safari는 2022년부터 가변 길이 룩비하인드를 지원합니다. 최신 브라우저를 사용하고 있다면 정상적으로 작동합니다.

세션 중간에 오프라인이 되어도 테스터가 작동하나요?

네. 페이지가 로드된 후 모든 매칭은 네트워크 의존성 없이 브라우저의 JavaScript 엔진이 로컬에서 처리합니다. 연결을 끊어도 테스트가 중단되지 않습니다.