정규식 · Regex

JavaScript 정규식을 라이브로 테스트하고 캡처 그룹을 확인

패턴을 입력하면 바로 매치 결과, 인덱스, 캡처 그룹, named group, 치환 결과를 한 화면에서 확인할 수 있습니다. 로그 파싱이나 폼 검증 규칙을 만들 때 브라우저 콘솔을 열지 않고 안전하게 실험할 수 있습니다.

언제 필요한 도구인가

정규식은 로그 필터링, 폼 검증, 데이터 클렌징, 라우팅 규칙 작성까지 프런트엔드와 백엔드 모두에서 빈번하게 사용됩니다. 하지만 작성한 패턴이 기대한 텍스트를 모두 매치하는지, 캡처 그룹이 올바르게 뽑히는지 확인하려면 보통 에디터를 열고 테스트 파일을 만들어야 합니다.

이 페이지는 이런 반복 작업을 줄이기 위해 만들었습니다. 입력 텍스트와 패턴, 플래그를 바꾸면 매치 개수와 각 매치의 시작 위치, 길이, 전체 캡처 그룹, named group이 즉시 갱신됩니다. 치환 문자열까지 제공하면 `$1`, `$&`, `$<name>` 같은 백레퍼런스가 실제로 어떤 결과를 만드는지도 동시에 확인할 수 있습니다.

지원하는 플래그와 의미

  • g — 전역 매치. 문자열 전체에서 모든 매치를 탐색합니다.
  • i — 대소문자 무시. ASCII와 유니코드 대소문자 모두 둔감하게 처리합니다.
  • m — 멀티라인. `^`와 `$`가 각 줄의 시작/끝으로 동작합니다.
  • s — dotAll. `.`이 개행 문자도 매치합니다.
  • u — 유니코드. 서러게이트 페어와 유니코드 프로퍼티 이스케이프를 지원합니다.
  • y — sticky. 이전 매치의 `lastIndex` 위치에서부터만 매치를 시도합니다.

자주 쓰는 패턴 예시

이메일 · 기본 검사

^[\w.+-]+@[\w-]+\.[\w.-]+$

ISO 8601 날짜 (캡처 그룹)

(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})

한국 휴대폰 번호

^01[016-9]-\d{3,4}-\d{4}$

자주 묻는 질문

Q. Python이나 PCRE 정규식 문법이 그대로 되나요? 이 도구는 JavaScript RegExp 엔진을 사용하므로 룩비하인드나 유니코드 프로퍼티 이스케이프는 최신 브라우저에서만 동작합니다. POSIX 문자 클래스(`[[:alpha:]]`)는 지원하지 않습니다.

Q. 매치가 너무 많이 나올 때 브라우저가 느려지지 않나요? 성능 보호를 위해 최대 1,000개까지만 수집합니다. 초과분은 생략되며 동일한 패턴을 스트리밍 로그에 적용하기 전에 더 엄격한 앵커를 추가하는 것을 권장합니다.

Q. 입력 데이터가 서버로 전송되나요? 모든 매칭은 브라우저 안에서 실행되며 네트워크로 전송되지 않습니다.

함께 쓰기 좋은 도구

같은 워크플로에서 바로 이어 쓸 수 있는 JSON2Class 도구를 연결해 두었습니다.

JSON to Java

Java DTO와 validation 중심으로 JSON 응답 모델을 정리합니다.

JSON to Kotlin

nullable 규칙과 data class 구조를 빠르게 검토합니다.

JSON Formatter

샘플 JSON을 정리한 뒤 변환기에 다시 넣어 타입 추론을 안정화합니다.