정규식 테스터
브라우저 안에서만 처리됩니다. 입력한 내용과 선택한 파일은 서버로 전송되지 않습니다.
하이픈이 있어도 없어도 맞습니다. 실제 개통 여부는 알 수 없습니다.
결과
사용법
- 정규식을 넣거나 위의 "자주 쓰는 것"에서 하나를 고릅니다. 고르면 예시 문장도 같이 채워집니다.
- 플래그를 눌러 켜고 끕니다. 대상 텍스트를 붙여넣으면 일치하는 부분이 바로 강조됩니다.
- 일치 목록 표에서 위치와 캡처 그룹 값을 확인합니다. 이름 있는 그룹은 이름으로 열이 생깁니다.
- "치환도 해 보기"를 켜면 $1 이나 $<이름> 을 쓴 치환 결과를 미리 볼 수 있습니다.
자주 묻는 질문
정규식이 브라우저를 멈추게 할 수 있나요?
이 도구에서는 멈추지 않습니다. (a+)+b 같은 패턴에 조금 긴 입력을 주면 되추적이 폭발해 몇 분에서 몇 시간까지 돌 수 있고, 자바스크립트의 정규식 실행은 중간에 끊을 수 없습니다. 그래서 계산을 별도 스레드(Web Worker)에서 돌리고 1.5초를 넘으면 그 스레드를 강제로 종료합니다 — 화면은 그동안에도 반응합니다. 정규식 테스터는 완성되지 않은 패턴을 한 글자씩 치는 도구라서 위험한 중간 상태를 반드시 지나가고, 그래서 이건 예외 처리가 아니라 기본 동작입니다.
위험한 패턴이라는 경고는 무슨 기준인가요?
반복 안에 반복이 있는 모양((a+)+ 같은 것)을 찾습니다. 이게 되추적 폭발의 대표적인 원인입니다. 확실한 판정은 불가능해서(정지 문제에 가깝습니다) 대표적인 신호만 잡고, 실제 보호는 시간 제한이 합니다. 경고가 없어도 느릴 수 있고, 경고가 있어도 짧은 입력에서는 빠릅니다.
전체 찾기(g)를 껐는데 결과가 같습니다.
이 도구는 항상 모든 일치를 찾습니다. g 없이 exec 를 반복하면 늘 첫 일치만 나와 무한 루프가 되기 때문에 내부에서는 g 를 붙여 돌립니다. 대신 다른 코드에 붙여넣을 때는 g 유무가 중요하므로 화면의 /플래그 표시는 여러분이 켠 그대로 보여줍니다.
빈 문자열에 일치한다고 나옵니다.
a* 나 전방탐색((?=x))은 길이 0 인 일치를 만듭니다. 정상 동작이고, 표에는 "(빈 문자열)"로 표시합니다. 강조 표시에서는 보여줄 글자가 없어 아무 표시도 하지 않습니다.
한글은 어떻게 찾나요?
[가-힣] 이 완성형 음절 전체입니다. 자모 낱글자(ㄱ, ㅏ)까지 잡으려면 [ㄱ-ㅎㅏ-ㅣ가-힣] 처럼 범위를 더합니다. 자음·모음이 분리 저장된 텍스트(맥에서 만든 파일 이름 등)는 음절 범위로 안 잡히니 유니코드 플래그(u)와 정규화가 필요할 수 있습니다.
"자주 쓰는 것" 패턴을 그대로 실무에 써도 되나요?
형식 확인용입니다. 각 패턴마다 한계를 적어 두었으니 읽어 보세요 — 예를 들어 사업자등록번호는 검증 숫자 계산이 필요해 정규식으로는 형식만 볼 수 있고, 이메일은 규격을 전부 따르는 정규식이 실용적이지 않으며, 날짜는 2월 31일 같은 실제 존재 여부를 판별할 수 없습니다. 최종 검증은 정규식이 아니라 코드로 해야 합니다.
입력한 텍스트가 서버로 전송되나요?
전송되지 않습니다. 정규식 실행과 강조 표시가 모두 브라우저 안에서 끝납니다. 네트워크를 끊고도 동작합니다.