MUTools

텍스트

정규식 테스터

정규식 테스터 도구는 패턴과 대상 텍스트를 입력하기만 하면 일치한 부분의 하이라이트, 캡처 그룹의 내용, 치환 미리 보기, 정규식의 구문 설명을 실시간으로 확인할 수 있는 도구입니다. 웹 개발에서의 유효성 검사 설계, 로그에서의 ID 추출, 문장의 일괄 치환, 학습 중인 구문 확인 등 "일단 동작시켜 확인하고 싶다"는 상황에서 사용할 수 있습니다.

g
플래그
정규식 프리셋
대상 텍스트
패턴과 대상 텍스트를 입력하시면 매칭 결과가 여기에 표시됩니다.
정규식 구문 설명

패턴을 입력하시면 구문별 설명이 여기에 표시됩니다.

현재 패턴, 플래그, 대상 텍스트, 치환 템플릿을 URL 에 저장하여 링크로 공유할 수 있습니다.

입력한 패턴과 텍스트는 모두 브라우저 내에서 처리되며 서버로 전송되지 않습니다.

정규식 테스터 도구란?

정규식 테스터 도구는 패턴과 대상 텍스트를 입력하기만 하면 일치한 부분의 하이라이트, 캡처 그룹의 내용, 치환 미리 보기, 정규식의 구문 설명을 실시간으로 확인할 수 있는 도구입니다. 웹 개발에서의 유효성 검사 설계, 로그에서의 ID 추출, 문장의 일괄 치환, 학습 중인 구문 확인 등 "일단 동작시켜 확인하고 싶다"는 상황에서 사용할 수 있습니다.

g / i / m / s / u / y의 플래그는 토글로 전환할 수 있으며, 입력한 패턴이 올바르지 않을 때는 즉시 오류 메시지로 원인을 표시합니다. 일치 건수, 캡처 수, 실행 시간(밀리초)도 함께 표시되므로 복잡한 패턴의 동작이나 성능의 기준을 확인하는 데에도 편리합니다.

이메일 주소, URL, 전화번호 (일본 형식), 우편번호 (일본 형식), IPv4, 날짜, HTML 태그, 16진 컬러 코드 등 자주 사용하는 패턴은 프리셋에서 1클릭으로 삽입할 수 있습니다. 치환 템플릿에서는 $&로 전체 일치, $1 $2로 1, 2번째 캡처, $<name>으로 이름이 있는 캡처를 참조할 수 있으며, 결과는 "일치 결과", "치환 결과" 탭으로 전환하여 확인할 수 있습니다. "공유 URL 복사"로 패턴, 플래그, 대상 텍스트, 치환 템플릿을 통째로 URL에 저장하여 팀 멤버에게 공유할 수도 있습니다.

모든 처리는 사용 중인 브라우저 안에서 완결됩니다. 입력한 패턴이나 대상 텍스트가 서버로 전송되는 일이 없으므로 사외비 로그나 개인정보를 포함한 문장을 시험삼아 적용해 보는 용도에도 안심하고 이용할 수 있습니다. 브라우저만으로 완결됩니다.

사용 방법

  1. "패턴" 란에 정규식을 입력합니다. 프리셋 메뉴에서 이메일 주소나 URL 등을 원클릭으로 삽입할 수도 있습니다.
  2. 오른쪽의 플래그(g / i / m / s / u / y)를 토글하여 전체 일치나 대소문자 무시 등의 동작을 전환합니다.
  3. "대상 텍스트" 란에 일치시킬 문장을 붙여넣습니다. 샘플 입력 버튼으로 곧바로 동작을 확인할 수 있습니다.
  4. 아래 결과란에서 일치한 부분이 하이라이트되며, 건수, 캡처 그룹, 실행 시간이 표시됩니다.
  5. "치환 결과" 탭으로 전환하여 "치환 템플릿" 란에 치환 후 문자열($1나 $& 등의 참조도 사용 가능)을 입력하면 치환 미리 보기가 표시됩니다.
  6. 오른쪽 상단의 "정규식 구문 설명"에서 입력한 패턴을 구성 요소별로 분해한 한국어 설명을 확인할 수 있습니다.
  7. "공유 URL 복사"를 누르면 현재의 패턴, 플래그, 대상 텍스트, 치환 템플릿이 URL에 삽입되어, 링크 1개로 다른 사람에게도 같은 화면을 재현할 수 있습니다.

활용 사례

  • 앱의 폼에서 사용하는 입력 유효성 검사 정규식을 예상하는 문자열로 한 차례 시험하고 싶은 웹 엔지니어.
  • 서버 로그나 액세스 로그에서 ID, 경로, 상태 코드를 추출하는 패턴을 작성하고 싶은 운영 담당자.
  • 원고나 CSV 데이터의 일괄 치환을 진행하기 전에 치환 후의 모습을 안전하게 확인하고 싶은 작가, 편집자.
  • PR 리뷰나 스터디에서 멤버에게 정규식 샘플과 테스트 케이스를 공유 URL로 배포하고 싶은 개발 리더.
  • 학습 중인 정규식의 동작을 1줄씩 시험하면서 구문별 의미도 한국어로 확인하고 싶은 초학자.

주의사항

  • 이 도구는 브라우저의 JavaScript 표준 정규식(ECMAScript의 RegExp)에 준거하며, PCRE나 Oniguruma 고유의 구문(\K, 가변 길이 후방 탐색 등)에는 대응하지 않습니다.
  • g 플래그가 꺼져 있을 때는 일치도 치환도 첫 1건만 대상이 됩니다. 전체 건을 다루려면 g 플래그를 켜 주세요.
  • u 플래그를 켜면 서로게이트 페어나 Unicode 속성(\p{...})을 사용할 수 있는 한편, 문자 클래스 내에서의 이스케이프 요건이 엄격해집니다. 동작이 바뀌면 u 플래그의 켜고 끔도 확인해 주세요.
  • 대상 텍스트가 50만 자를 초과할 경우 응답이 극단적으로 느려지는 것을 피하기 위해 측정 전에 잘라냅니다. 일치 건수도 최대 10,000건에서 잘립니다.
  • "공유 URL 복사"에서는 대상 텍스트도 쿼리 문자열로 URL에 포함되므로, 공유 상대에게 본문이 보여도 문제없는지 확인 후 이용해 주세요. 본문이 긴 경우 URL에서 자동으로 제외되며, 그 뜻이 화면에 표시됩니다.
  • 구문 설명은 주요 구문(문자 클래스, 수량 한정자, 그룹, 선택, 문자 집합)에 대응합니다. 전방 탐색, 후방 탐색이나 Unicode 속성 등은 "미대응 구문"으로 원문 그대로 표시됩니다.

자주 묻는 질문

입력한 패턴이나 텍스트가 서버로 전송되나요?
전송되지 않습니다. 패턴 컴파일, 일치, 치환, 구문 설명, 실행 시간 측정까지 모두 사용자의 브라우저 안에서 완결됩니다. 사외비 로그나 개인정보를 포함한 문장을 시험삼아 적용해도 외부로 나가지 않습니다.
PCRE 모드가 있나요?
이 도구는 브라우저의 JavaScript 표준 정규식 엔진에만 대응합니다. PCRE 고유의 구문(\K, 가변 길이 후방 탐색, 재귀 참조 등)은 사용할 수 없습니다. 웹 앱의 프런트엔드나 유효성 검사를 설계하는 용도라면 이 도구에서 확인한 결과가 그대로 실제 환경의 동작과 일치합니다.
g 플래그를 켜지 않았는데 왜 1건밖에 일치하거나 치환되지 않나요?
JavaScript 정규식에서는 g 플래그가 꺼져 있을 때 첫 1건만 대상이 됩니다. 전체 건을 일치 및 치환하려면 플래그 란의 "g"를 켜 주세요. 일치 탭, 치환 탭 각각에서 g 플래그 꺼짐 시에는 힌트가 표시됩니다.
공유 URL을 연 사람에게도 같은 패턴과 결과가 재현되나요?
재현됩니다. 링크에는 현재 패턴, 플래그, 대상 텍스트, 치환 템플릿이 쿼리 문자열로 삽입되어 있으므로, 링크를 연 사람의 브라우저에서 같은 일치 결과와 치환 결과가 즉시 표시됩니다. 다만 대상 텍스트가 긴 경우 URL에서 자동으로 제외됩니다.
실행 시간(밀리초)의 수치가 매번 조금씩 다른 이유는 무엇인가요?
브라우저의 내부 최적화(JIT의 워밍업), 다른 탭, 작업과의 CPU 공유, 측정 정밀도의 제약 등이 영향을 주기 때문입니다. 1회당의 수치 그 자체보다 패턴을 수정하기 전후로 크게 증감하지 않는지 비교의 지표로 이용해 주세요.