정규식 테스터

실시간으로 Regex 테스트 — 매치 하이라이트, 플래그, 캡처 그룹 상세 내역 확인

공유:

Regex 테스터

/ /

tools/development.regex-tester.editor.flags_hint

Regex 테스터를 사용해야 하는 이유

정규식은 거의 모든 프로그래밍 언어에서 사용되는 강력한 패턴 매칭 도구입니다. 디버깅이 복잡할 수 있으며, 문자 하나의 오류가 동작을 완전히 바꿀 수 있습니다. 도구는 키 입력마다 매치를 실시간으로 하이라이트하고, 캡처 그룹 상세 내역을 보여주며, 모든 자바스크립트 플래그를 지원합니다.

실시간 하이라이팅

각 키 입력마다 매치가 즉시 하이라이트됩니다 — 버튼 클릭 불필요

🔍

캡처 그룹 상세

각 결과에 대한 모든 캡처 그룹, 인덱스, 매칭된 값 표시

🚩

완전한 플래그 지원

g, i, m, s, u, y 플래그를 개별적으로 활성화하여 효과 확인

3단계로 Regex 테스트하는 방법

1

패턴 입력

패턴 필드에 정규식 입력 (슬래시 없이)

2

플래그 선택

필요에 따라 g(전역), i(대소문자 무시), m(다줄) 등의 플래그 활성화

3

테스트 텍스트 붙여넣기

텍스트를 입력하면 매치가 자동으로 하이라이트됩니다

Regex의 일반적인 사용 사례

폼 유효성 검사

이메일 주소, 전화번호, URL, 우편번호, 사용자 정의 형식 검증

🔍

검색 및 교체

코드 에디터, 로그 파일, 텍스트 처리 파이프라인에서 패턴 검색 및 교체

⚙️

로그 파싱

비정형 로그에서 구조화된 데이터(IP, 타임스탬프, 오류 코드) 추출

🔒

입력 새니타이징

저장 또는 표시 전 사용자 데이터에서 위험한 문자 제거 또는 교체

Regex 모범 사례

✓ 정확한 매칭에는 앵커 사용

^와 $를 사용하여 패턴을 줄의 시작과 끝에 고정하고 원치 않는 부분 매칭 방지

✓ 비캡처 그룹 선호

그룹을 캡처할 필요가 없을 때는 (...)대신 (?:...)을 사용하여 성능 향상

✓ 특수 문자 이스케이프

. * + ? ( ) [ ] { } | ^ $ \는 특별한 의미가 있어 리터럴 매칭에는 \로 이스케이프 필요

✓ 엣지 케이스 테스트

빈 문자열, 유니코드 문자, 매우 긴 입력, 경계 조건으로 항상 테스트

❓ 자주 묻는 질문

이 테스터는 어떤 Regex 방언을 사용하나요?

JavaScript의 내장 RegExp 엔진(ECMAScript 표준)을 사용합니다. 전방탐색, 후방탐색(ES2018+), 명명된 캡처 그룹, 유니코드 특성을 지원합니다.

g 플래그와 m 플래그의 차이는 무엇인가요?

g(전역) 플래그는 첫 번째 매치만이 아닌 문자열의 모든 매치를 찾습니다. m(다줄) 플래그는 ^와 $가 전체 문자열이 아닌 각 줄의 시작/끝에 매칭되도록 만듭니다.

리터럴 점이나 별표에 어떻게 매칭하나요?

백슬래시로 이스케이프합니다: \.는 리터럴 점에, \*는 리터럴 별표에 매칭됩니다. 문자 클래스 [ ] 안에서는 ], \, ^, -를 제외한 대부분의 특수 문자가 의미를 잃습니다.

Regex가 예상보다 더 많은 텍스트에 매칭되는 이유는?

탐욕적 수량자를 사용하고 있을 가능성이 있습니다. *와 +는 기본적으로 탐욕적이어서 가능한 한 많은 텍스트에 매칭됩니다. ?를 추가하여 게으른 방식으로 변경할 수 있습니다: *?나 +?는 가능한 적은 텍스트에 매칭됩니다.