정규식 테스터

실시간 매치 & 캡처 그룹

JavaScript 정규식을 실시간 매치 하이라이트, 캡처 그룹, g, i, m 플래그 제어와 함께 테스트합니다.

이 변환은 브라우저에서만 실행됩니다. 서버로 업로드하지 않습니다.

플래그
  • 매치—
  • 플래그g
  • 테스트 문자열0

테스트 문자열

출력

출력...

이 도구는 무엇인가요?

브라우저에서 JavaScript 정규식 패턴을 컴파일해 테스트 문자열에 적용하고, 실시간 매치 하이라이트, 매치 수, 캡처 그룹을 보여 줍니다. 패턴 양옆 / 없이 g·i·m 플래그를 토글합니다.

동작은 브라우저 ECMAScript RegExp 기준이며 PCRE·Python·Java·.NET·RE2와 다를 수 있습니다. 검증·로그 추출·파일명 규칙을 코드에 넣기 전에 확인하세요.

자주 쓰는 경우

  • 폼 검증 패턴이 샘플을 통과·거부하는 이유 디버깅
  • 짧은 로그에서 ID·key=value 캡처
  • 같은 텍스트에서 탐욕 .* vs lazy .*?, 멀티라인 ^/$ 비교

사용 방법

  1. /…/ 없이 패턴을 입력합니다 (예: \d+, (\w+)=(\S+)).
  2. g(전체)·i(대소문자 무시)·m(줄 단위 ^/$)를 켭니다.
  3. 테스트 문자열을 붙이면 매치가 하이라이트되고, 캡처가 있으면 아래에 목록이 납니다.
  4. Sample은 멀티라인 key=value 예제, Copy는 매치/캡처 요약, Clear는 초기화입니다.

예시

패턴 / 플래그테스트 문자열결과
\d+ · gOrder 123 and 456매치 2개: 123, 456
user-(\d+)user-42매치 user-42; 캡처 42
^id=.*$ · muser=a / id=42 (두 줄)id=42 줄만 매치 (m으로 줄 ^/$)
<(.+)> vs <(.+?)> · g<a>x</a><b>y</b>탐욕은 넓게, lazy는 짧은 태그 구간 (탐욕 대비 엣지)
[ (깨짐)아무 텍스트Invalid regex 오류

실무에서 흔한 실수

  • 엔진 차이: Python/re·PCRE용 패턴은 JS에서 실패하거나 다르게 동작할 수 있습니다.
  • 기본은 탐욕: .*가 의도한 경계를 넘습니다. lazy나 더 좁은 문자 클래스를 쓰세요.
  • ReDoS·긴 입력: 중첩 수량자 + 대용량 붙여넣기는 탭을 멈출 수 있습니다. 디버깅 중에는 짧은 샘플만 사용하세요.

참고자료

최종 검토: 2026-07-27

자주 묻는 질문

어떤 정규식 엔진을 쓰나요?
브라우저의 JavaScript RegExp입니다. lookbehind·유니코드 속성·백트래킹은 ECMAScript 기준이며 PCRE·Python·Java·.NET·RE2와 다를 수 있습니다.
g, i, m 플래그는 무엇인가요?
g(전역)는 모든 매치, 끄면 첫 매치만 표시합니다. i는 대소문자 무시, m은 ^/$가 줄 시작·끝에 맞도록 합니다.
탐욕(greedy) 패턴이 너무 많이 먹는 이유는?
.*·.+는 기본적으로 가장 긴 매치를 잡습니다. 짧게 잡으려면 .*?·.+?(lazy)를 쓰거나, 경계를 넘는 문자를 막는 문자 클래스로 좁히세요.
잘못된 패턴이 탭을 멈출 수 있나요?
가능합니다. 긴 입력에 중첩 수량자가 있으면 ReDoS처럼 백트래킹이 폭주할 수 있습니다. 디버깅 중에는 짧은 샘플을 쓰세요.