온라인 정규식 테스터
패턴을 붙여 넣고 실제 텍스트에 적용해 운영 검증에 넣기 전에 무엇이 매칭되는지 확인하세요.
//
매칭 정보0 matches
테스트 문자열
문자 수: 98
매칭 하이라이트
.임의 문자
\d숫자
\w단어 문자
^/$시작 / 끝
검증한 패턴을 작은 도구로 배포하세요
정규식이 검증기, 파서, 내부 도구의 일부가 되면 DeployPages에 정적 도구로 올려 팀이 같은 검증 버전을 쓰게 할 수 있습니다.
도구 사이트 게시온라인 정규식 테스터를 쓰는 이유
정규식 버그는 작은 차이에서 숨어 있습니다. 빠진 anchor, 지나치게 greedy한 quantifier, 잊은 flag, 운영 데이터와 전혀 다른 샘플이 원인이 됩니다. 라이브 테스터는 패턴, flag, 매칭 결과, 테스트 문자열을 한 화면에 보여줘 추측이 아니라 실제 표현식을 고치게 합니다.
정규식 치트시트
문자 클래스
| . | 줄바꿈을 제외한 임의 문자와 일치 |
| \w | 문자, 숫자, 밑줄과 일치 |
| \d | 숫자와 일치 |
| \s | 공백 문자와 일치 |
| [abc] | 나열된 문자 중 하나와 일치 |
| [^abc] | 나열되지 않은 문자와 일치 |
반복 수량자
| * | 0번 이상 일치 |
| + | 1번 이상 일치 |
| ? | 0번 또는 1번 일치 |
| {n} | 정확히 n번 일치 |
| {n,} | 최소 n번 일치 |
| {n,m} | n번 이상 m번 이하 일치 |
Anchor와 lookahead
| ^ | 문자열 시작과 일치 |
| $ | 문자열 끝과 일치 |
| \b | 단어 경계와 일치 |
| \B | 단어 경계가 아닌 위치와 일치 |
| (?=p) | positive lookahead |
| (?!p) | negative lookahead |
Flags
| g | 전체 검색 |
| i | 대소문자 무시 모드 |
| m | 여러 줄 모드 |
| s | . 이 줄바꿈까지 매칭 |
| u | Unicode 모드 |
고급 FAQ
greedy 매칭과 lazy 매칭은 무엇이 다른가요?
greedy 매칭은 가능한 한 많은 텍스트를 소비합니다. lazy 매칭은 quantifier 뒤에 ?를 붙여 가장 이른 유효 매칭에서 멈추게 합니다.
이메일 주소를 정규식으로 검증해도 되나요?
실무적인 1차 확인에는 정규식을 사용할 수 있지만 소유권을 증명하는 최종 검증으로 취급하면 안 됩니다. 이메일 확인 절차는 여전히 필요합니다.
한 언어에서는 되던 정규식이 다른 언어에서는 왜 실패하나요?
정규식 엔진은 모두 같은 기능을 지원하지 않습니다. JavaScript, PCRE, Python, Java, 데이터베이스 정규식은 lookbehind, named group, Unicode 처리, escaping 규칙이 다릅니다.
정규식이 성능 문제를 만들 수 있나요?
네. 중첩 quantifier와 모호한 대안은 특정 입력에서 과도한 backtracking을 만들 수 있습니다. 요청 검증에 쓰기 전에 현실적인 최악 케이스 문자열을 테스트하세요.