정규식 테스터
내가 쓴 정규식이 글의 어디에 맞을까?
JavaScript 정규식은 g 플래그가 있어야 모든 일치를 바꿉니다.
ECMAScript 정규식 기준 · 서버로 보내지 않음 · 업데이트
결과
-
자주 쓰는 정규식
| 기호 | 뜻 |
|---|---|
\d \w \s | 숫자 · 글자(영문·숫자·_) · 공백 |
. | 줄바꿈을 뺀 아무 글자 하나 |
* + ? | 0번 이상 · 1번 이상 · 있거나 없거나 |
{3,4} | 3~4번 반복 |
^ $ | 시작 · 끝 (m 이면 줄마다) |
[가-힣] | 완성형 한글 한 글자 |
(…) (?:…) | 캡처 그룹 · 캡처 안 하는 그룹 |
(?<y>…) | 이름 붙인 그룹 |
a|b | a 또는 b |
결과가 이상한가요?
어떻게 계산했나요
ECMAScript 정규식 기준 · 서버로 보내지 않음
- 브라우저의 JavaScript 정규식(ECMAScript,
new RegExp)으로 맞춥니다. 쓸 수 있는 플래그는 d g i m s u v y - g 가 없어도 모든 일치를 찾아 보여 드립니다 (코드에서 replace·match 는 g 가 있어야 모두)
- 빈 일치는 한 글자씩 건너 이어서 찾습니다
- 역추적 폭발 대비: 웹 워커에서 돌리고 1초 넘으면 멈춤, 글 20,000자·일치 1,000개까지
- 패턴·글·결과는 서버·분석 도구·주소창·브라우저 저장소 어디에도 보내거나 남기지 않습니다
자주 묻는 질문
넣은 패턴과 글이 어디로 가나요?
어디로도 가지 않습니다. 이 기기의 브라우저 안에서만 맞춰 보고, 패턴·글·결과는 서버·분석 도구·주소창에 보내거나 남기지 않습니다.
g 플래그가 없는데도 일치가 모두 나와요.
확인하기 쉽게 이 도구는 g 가 없어도 모든 일치를 보여 드립니다. 코드에서는 다릅니다. JavaScript 의 replace·match 는 g 플래그가 있어야 모든 일치를 바꾸거나 찾고, 없으면 첫 일치 하나만 다룹니다.
어떤 정규식 문법인가요?
브라우저의 JavaScript(ECMAScript) 정규식입니다. 이름 붙인 그룹 (?<이름>…), 뒤돌아보기 (?<=…), 유니코드 속성 \p{…}(u 플래그)을 쓸 수 있습니다. 파이썬·자바·PCRE 와 대부분 같지만 소유 수량자(a++)나 원자 그룹처럼 JavaScript 에 없는 문법은 오류가 납니다.
페이지가 멈추지 않나요?
(a+)+ 처럼 반복 안에 반복이 있는 패턴은 글에 따라 계산이 폭발적으로 늘어납니다(역추적 폭발). 이 도구는 따로 떨어진 작업(웹 워커)에서 돌리고 1초가 넘으면 끊어서, 화면은 멈추지 않습니다. 글은 2만 자, 일치는 1,000개까지 봅니다.
한글 한 글자를 찾으려면?
[가-힣] 은 완성형 한글 한 글자입니다. 자음·모음까지 넣으려면 [ㄱ-ㅎㅏ-ㅣ가-힣] 을 쓰세요. 휴대폰 번호는 01[016789]-?\d{3,4}-?\d{4} 처럼 찾을 수 있습니다.