Regex 테스터
tools/development.regex-tester.editor.flags_hint
Regex 테스터를 사용해야 하는 이유
정규식은 거의 모든 프로그래밍 언어에서 사용되는 강력한 패턴 매칭 도구입니다. 디버깅이 복잡할 수 있으며, 문자 하나의 오류가 동작을 완전히 바꿀 수 있습니다. 도구는 키 입력마다 매치를 실시간으로 하이라이트하고, 캡처 그룹 상세 내역을 보여주며, 모든 자바스크립트 플래그를 지원합니다.
실시간 하이라이팅
각 키 입력마다 매치가 즉시 하이라이트됩니다 — 버튼 클릭 불필요
캡처 그룹 상세
각 결과에 대한 모든 캡처 그룹, 인덱스, 매칭된 값 표시
완전한 플래그 지원
g, i, m, s, u, y 플래그를 개별적으로 활성화하여 효과 확인
3단계로 Regex 테스트하는 방법
패턴 입력
패턴 필드에 정규식 입력 (슬래시 없이)
플래그 선택
필요에 따라 g(전역), i(대소문자 무시), m(다줄) 등의 플래그 활성화
테스트 텍스트 붙여넣기
텍스트를 입력하면 매치가 자동으로 하이라이트됩니다
Regex의 일반적인 사용 사례
폼 유효성 검사
이메일 주소, 전화번호, URL, 우편번호, 사용자 정의 형식 검증
검색 및 교체
코드 에디터, 로그 파일, 텍스트 처리 파이프라인에서 패턴 검색 및 교체
로그 파싱
비정형 로그에서 구조화된 데이터(IP, 타임스탬프, 오류 코드) 추출
입력 새니타이징
저장 또는 표시 전 사용자 데이터에서 위험한 문자 제거 또는 교체
Regex 모범 사례
✓ 정확한 매칭에는 앵커 사용
^와 $를 사용하여 패턴을 줄의 시작과 끝에 고정하고 원치 않는 부분 매칭 방지
✓ 비캡처 그룹 선호
그룹을 캡처할 필요가 없을 때는 (...)대신 (?:...)을 사용하여 성능 향상
✓ 특수 문자 이스케이프
. * + ? ( ) [ ] { } | ^ $ \는 특별한 의미가 있어 리터럴 매칭에는 \로 이스케이프 필요
✓ 엣지 케이스 테스트
빈 문자열, 유니코드 문자, 매우 긴 입력, 경계 조건으로 항상 테스트
❓ 자주 묻는 질문
이 테스터는 어떤 Regex 방언을 사용하나요?
JavaScript의 내장 RegExp 엔진(ECMAScript 표준)을 사용합니다. 전방탐색, 후방탐색(ES2018+), 명명된 캡처 그룹, 유니코드 특성을 지원합니다.
g 플래그와 m 플래그의 차이는 무엇인가요?
g(전역) 플래그는 첫 번째 매치만이 아닌 문자열의 모든 매치를 찾습니다. m(다줄) 플래그는 ^와 $가 전체 문자열이 아닌 각 줄의 시작/끝에 매칭되도록 만듭니다.
리터럴 점이나 별표에 어떻게 매칭하나요?
백슬래시로 이스케이프합니다: \.는 리터럴 점에, \*는 리터럴 별표에 매칭됩니다. 문자 클래스 [ ] 안에서는 ], \, ^, -를 제외한 대부분의 특수 문자가 의미를 잃습니다.
Regex가 예상보다 더 많은 텍스트에 매칭되는 이유는?
탐욕적 수량자를 사용하고 있을 가능성이 있습니다. *와 +는 기본적으로 탐욕적이어서 가능한 한 많은 텍스트에 매칭됩니다. ?를 추가하여 게으른 방식으로 변경할 수 있습니다: *?나 +?는 가능한 적은 텍스트에 매칭됩니다.