정규식 테스터
정규식(Regex)을 실시간으로 테스트하고 일치 결과를 시각화합니다.
//g
플래그:
예시 패턴
다른 유틸리티
정규식(Regular Expression) 기초
정규식은 문자열 패턴을 표현하는 강력한 도구입니다. 텍스트 검색, 치환, 파싱, 유효성 검사 등 다양한 용도로 활용됩니다.
자주 쓰이는 패턴
| 용도 | 패턴 | 설명 |
|---|---|---|
| 이메일 | [a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,} | 기본적인 이메일 형식 |
| 한국 전화 | 010-\d{4}-\d{4} | 010-XXXX-XXXX 형식 |
| 우편번호 | \d{5} | 5자리 숫자 |
| 날짜 | \d{4}-\d{2}-\d{2} | YYYY-MM-DD 형식 |
플래그 활용법
- g (global): 첫 번째 일치만 찾지 않고 전체 문자열에서 모든 일치를 찾습니다.
- i (ignoreCase): 대소문자를 구분하지 않습니다.
Hello와hello를 모두 매칭합니다. - m (multiline): 여러 줄 텍스트에서 각 줄의 시작(^)과 끝($)을 처리합니다.
- s (dotAll):
.이 줄바꿈 문자도 매칭하도록 합니다.
주의: 파국적 역추적(Catastrophic Backtracking)
(a+)+b처럼 반복이 중첩된 패턴에 일치하지 않는 긴 문자열을 넣으면,
정규식 엔진이 가능한 모든 분할 방식을 역추적하며 실행 시간이 문자열 길이에
지수적으로 비례해 늘어날 수 있습니다. 이는 실제 서비스 장애로 이어진 사례가
많은 취약점이라, 사용자 입력을 검증하는 정규식은 중첩 반복을 피하고 반드시
긴 입력으로도 테스트해봐야 합니다.