Developer Utility

Regex 테스트기

정규표현식을 입력하고 테스트 문자열에서 매칭 결과, 캡처 그룹, 플래그 동작을 실시간으로 확인할 수 있습니다. 이메일, URL, 전화번호, 코드 패턴 검증에 활용할 수 있는 개발자 유틸리티입니다.

실시간 매칭 정규식과 테스트 문자열을 입력하면 매칭 결과를 즉시 하이라이트합니다.
플래그 테스트 g, i, m, s, u, y 플래그를 선택해 정규식 동작 차이를 확인할 수 있습니다.
캡처 그룹 확인 매칭 목록과 캡처 그룹을 JSON 형태로 확인하고 복사할 수 있습니다.

정규표현식 테스트

정규식 패턴과 테스트 문자열을 입력하면 매칭 미리보기와 결과 목록을 확인할 수 있습니다.

표현식 /.../g
매칭 0개 그룹 0개 문자 0자 테스트 대기 중

매칭 결과

매칭된 문자열은 미리보기에서 강조 표시되고, 상세 결과는 JSON 형태로 정리됩니다.

테스트 대기 중

매칭 미리보기

0개
테스트 문자열을 입력하면 매칭 결과가 여기에 표시됩니다.

매칭 목록

[]

캡처 그룹

[]

자주 쓰는 정규식 예시

자주 사용하는 패턴을 클릭하면 정규식과 샘플 문자열을 바로 불러올 수 있습니다.

도움말

Regex 테스트기란?

Regex 테스트기는 정규표현식 패턴을 입력하고 테스트 문자열에서 어떤 부분이 매칭되는지 확인하는 개발자 도구입니다.

이메일, 전화번호, URL, 날짜, 해시태그, 특정 코드 패턴을 찾거나 검증할 때 사용할 수 있습니다.

사용 방법

  1. 정규표현식 입력창에 패턴을 작성합니다.
  2. 필요한 플래그를 선택합니다.
  3. 테스트 문자열을 입력합니다.
  4. 매칭 미리보기, 매칭 목록, 캡처 그룹을 확인합니다.
  5. 필요하면 결과 복사 또는 JSON 다운로드를 사용합니다.
g, i, m, s 플래그는 어떤 의미인가요?

g는 전체 검색, i는 대소문자 무시, m은 여러 줄 모드, s는 점(.)이 줄바꿈까지 포함하도록 하는 플래그입니다.

캡처 그룹은 무엇인가요?

캡처 그룹은 괄호 ()로 감싼 부분을 따로 추출하는 기능입니다. 예를 들어 (\d{4})-(\d{2})-(\d{2})는 연도, 월, 일을 각각 그룹으로 확인할 수 있습니다.

정규식 오류가 나는 이유는 무엇인가요?

괄호가 닫히지 않았거나, 대괄호 범위가 잘못되었거나, 이스케이프 문자가 불완전한 경우 오류가 발생할 수 있습니다.

정규식에서 역슬래시는 왜 두 번 쓰나요?

JavaScript 문자열 안에서는 역슬래시가 이스케이프 문자로 쓰이기 때문에 코드에 직접 넣을 때는 \\d처럼 두 번 쓰는 경우가 있습니다. 하지만 이 입력창에서는 보통 \d처럼 정규식 패턴 그대로 입력하면 됩니다.

민감한 텍스트를 입력해도 되나요?

실제 개인정보, 인증 토큰, 고객 데이터, 내부 로그는 입력하지 않는 것이 안전합니다. 테스트가 필요하다면 민감한 값을 마스킹한 샘플 문자열을 사용하세요.

EDITORIAL GUIDE

JavaScript 정규식을 멈춤 위험까지 고려해 시험하는 방법

패턴과 플래그를 JavaScript RegExp 규칙으로 실행해 매치 위치와 캡처 그룹을 확인합니다. 정규식은 짧아 보여도 특정 입력에서 매우 오래 걸릴 수 있으므로 이 도구는 별도 작업자와 실행 시간·입력·결과 제한을 함께 적용합니다.

이런 분께 유용합니다

  • JavaScript나 브라우저 코드에 사용할 정규식을 샘플 문자열로 검증하려는 개발자
  • 전체 일치와 캡처 그룹의 위치·값을 JSON으로 확인하려는 사용자
  • 대소문자·여러 줄·Unicode 플래그 차이를 비교하려는 사용자

대표 활용 상황

  • 로그에서 날짜나 식별자 패턴을 추출하기 전에 샘플 로그로 확인할 때
  • 폼 검증 정규식의 성공·실패 예제를 나란히 시험할 때
  • 캡처 그룹 결과를 JSON으로 내려받아 테스트 케이스를 만들 때

처음부터 결과 확인까지

  1. 1

    실제 개인정보나 인증 토큰 대신 구조가 같은 마스킹 샘플을 준비합니다.

  2. 2

    슬래시를 제외한 패턴 본문을 입력하고 필요한 플래그만 선택합니다.

  3. 3

    일치해야 하는 값과 일치하면 안 되는 값을 테스트 문자열에 함께 넣습니다.

  4. 4

    하이라이트뿐 아니라 매치 인덱스와 캡처 그룹 배열을 확인합니다.

  5. 5

    시간 초과가 나면 중첩 반복과 서로 겹치는 선택지를 단순화합니다.

  6. 6

    브라우저에서 통과한 패턴도 실제 런타임과 최대 입력 길이로 별도 성능 시험을 합니다.

실제 예시 1

날짜의 연·월·일 캡처

입력
패턴 (\d{4})-(\d{2})-(\d{2}), 문자열 2026-08-07
결과
전체 매치 2026-08-07, 그룹 2026·08·07

괄호로 묶은 세 부분이 캡처 그룹 1~3으로 분리됩니다.

실제 예시 2

중첩 반복 시간 초과 방지

입력
패턴 (a+)+$, 반복되는 a 뒤에 느낌표가 있는 문자열
결과
지정 시간 안에 끝나지 않으면 작업자 종료

OWASP가 설명하는 대표적인 ReDoS 형태입니다. 테스트 중단은 안전 신호가 아니라 패턴을 다시 설계하라는 경고입니다.

계산·처리 기준

패턴은 최대 500자, 테스트 문자열은 최대 20,000자, 결과는 최대 1,000개로 제한합니다. 문법 오류는 JavaScript RegExp 생성 단계에서 확인하고 실제 매칭은 Web Worker에서 실행해 400ms가 지나면 종료합니다. g·i·m·s·u·y 플래그는 ECMAScript 의미를 따르며 빈 문자열 매치는 다음 위치로 이동해 무한 반복을 막습니다.

알아둘 한계

  • JavaScript RegExp 기준이므로 PCRE, RE2, Java, Python 정규식과 지원 문법·플래그가 다를 수 있습니다.
  • 400ms 제한은 현재 브라우저의 멈춤을 줄이기 위한 도구 기준이며 운영 서버의 안전성을 보증하지 않습니다.
  • Web Worker를 막는 브라우저 정책에서는 안전 실행이 시작되지 않을 수 있습니다.
  • 샘플 몇 개의 성공만으로 누락·오탐과 국제 문자 처리까지 검증되지는 않습니다.
개인정보 처리

패턴과 테스트 문자열은 현재 브라우저 안에서만 처리하고 저장하지 않습니다. 내려받은 JSON에는 매치된 원문과 캡처 그룹이 포함되므로 실제 개인정보나 내부 로그를 넣지 마세요.

자주 묻는 질문

시간 초과가 없으면 ReDoS에 안전한가요?

아닙니다. 입력 길이와 실행 환경이 달라지면 성능이 급격히 나빠질 수 있습니다. 운영 코드에서는 입력 길이 제한과 정규식 구조 검토를 함께 적용하세요.

패턴 입력창에 양쪽 슬래시도 넣어야 하나요?

아니요. 패턴 본문만 입력하고 g, i 같은 플래그는 체크 상자에서 선택합니다.

다른 언어 정규식에 그대로 써도 되나요?

엔진마다 문법과 Unicode·역참조 동작이 다르므로 대상 언어의 공식 문서와 테스트 도구에서 다시 검증해야 합니다.