정규식 테스터 - 정규표현식 실시간 테스트 및 캡처 그룹 디버거
정규표현식(Regex)은 텍스트 유효성 검사, 로그 추출, 문자열 치환 등에 필수적인 도구입니다. 하지만 전방/후방 탐색이나 중첩 캡처 그룹이 얽힌 복잡한 정규식은 탐욕적 매칭(Greedy)이나 예기치 않은 버그를 유발하기 쉽습니다. 본 정규식 테스터는 입력과 동시에 매칭된 영역을 색상별로 하이라이트하고, 캡처된 그룹을 개별 분리하여 직관적인 디버깅을 지원합니다.
이런 상황에서 사용하세요
- 폼 입력값 유효성 검증: 이메일, 한국 휴대폰 번호(010-xxxx-xxxx), 비밀번호 복잡도 검증용 정규식을 사전에 테스트합니다.
- 서버 액세스 로그 추출: Nginx, Apache 로그 파일에서 IP 주소, HTTP 응답 코드, 요청 경로를 정확히 파싱합니다.
- 데이터 정제 및 크롤링: 정리되지 않은 원문에서 특정 HTML 태그, 가격 정보, 날짜 문자열만 쏙 뽑아냅니다.
- 캡처 그룹($1, $2) 검증: 정규식 괄호 안에 담긴 하위 문자열이 의도한 변수에 올바르게 할당되는지 단계별로 확인합니다.
사용 방법 및 실무 가이드
- 정규표현식 작성: 상단 바에 테스트할 정규식 패턴(예: ^01[016789]-\d{3,4}-\d{4}$)을 입력합니다.
- 플래그(Flag) 설정: 전체 검색(g), 대소문자 무시(i), 다중행(m), 개행포함(s) 등 필요한 플래그를 켭니다.
- 테스트 문자열 입력: 아래 본문 창에 매칭을 검증할 예시 텍스트들을 여러 줄로 자유롭게 입력합니다.
- 매칭 및 그룹 분석: 실시간으로 칠해지는 형광 하이라이트와 캡처 그룹 목록을 보며 패턴을 튜닝합니다.
입출력 실무 예시
Input:
Pattern: (\d{4})-(\d{2})-(\d{2})
Text: Project launched on 2026-09-04 successfully.
Output:
Full Match: "2026-09-04"
Group 1: "2026"
Group 2: "09"
Group 3: "04"
자주 묻는 질문 (FAQ)
Q. 어떤 정규식 엔진 규격을 따르나요?
A. 자바스크립트 표준(ECMAScript) 정규표현식 규격을 완벽하게 따르며, 전방탐색(?=), 후방탐색(?<=), 유니코드 속성 탈출문자(\p{...}) 등 최신 스펙을 모두 지원합니다.
Q. 지연시간(Catastrophic Backtracking) 현상이란 무엇인가요?
A. 중첩된 반복 수량자((a+)+ 등)가 포함된 정규식에서 불일치가 발생할 때 엔진이 지수 단위의 경우의 수를 되짚어가며 브라우저를 멈추게 만드는 현상입니다. 안전한 패턴 작성을 권장합니다.
Q. 매칭된 결과를 치환(Replace)해 볼 수도 있나요?
A. 치환 문자열 탭을 통해 $1, $2 등의 그룹 참조자를 활용하여 원하는 문자열로 실시간 교체되는 모습을 미리 확인할 수 있습니다.
기술 및 보안 유의사항
- 브라우저 네이티브 JavaScript V8 정규식 컴파일러를 통해 실제 서비스와 100% 동일한 실행 결과를 보장합니다.
- 내부 로그나 개인정보가 담긴 텍스트를 붙여넣어도 브라우저 외부로 전송되지 않으므로 안전합니다.
함께 사용하면 좋은 관련 도구