정규식 테스트
매칭 결과 실시간 확인
테스트 문자열
일치 결과
패턴과 문자열을 입력하면 일치하는 부분이 강조돼요
치환 미리보기
입력한 내용은 서버로 전송되지 않아요. 모든 처리는 이 기기의 브라우저 안에서만 이뤄져요.
사용 방법
- [패턴]에 정규식을 슬래시(/) 없이 입력하세요.
- [플래그]에서 필요한 옵션을 켜세요. 처음에는 [전체 찾기](g)만 켜져 있어요.
- [테스트 문자열]에 글을 넣으면 일치하는 부분이 강조되고, [그룹 캡처] 표에 위치와 그룹 값이 나와요.
- 바꾼 결과를 보려면 [치환 미리보기]에 $1 같은 치환 문자열을 입력하세요.
자주 묻는 질문
어떤 정규식 문법을 쓰나요?
브라우저의 JavaScript 정규식(RegExp) 문법이에요. 이름 있는 그룹 (?<이름>…)과 전후방 탐색은 쓸 수 있지만, PCRE·Java에 있는 a++ 같은 소유 수량자나 \A·\Z 앵커는 쓸 수 없어요. 다른 언어에서 쓸 정규식이라면 그 언어에서 한 번 더 확인하세요.
일치하는 부분이 하나만 나와요.
[전체 찾기](g) 플래그가 꺼져 있으면 첫 번째 일치만 찾아요. 모두 찾으려면 g를 켜세요. 치환 미리보기도 g가 꺼져 있으면 첫 번째 일치만 바꿔요.
‘여러 줄’(m)과 ‘. 이 줄바꿈 포함’(s)은 무엇이 다른가요?
m을 켜면 ^와 $가 글 전체의 처음과 끝이 아니라 줄마다의 처음과 끝에 맞아요. s를 켜면 .이 줄바꿈 문자에도 맞아서 여러 줄에 걸친 내용을 한 번에 잡을 수 있어요.
‘1초 안에 끝나지 않아 실행을 멈췄어요’라고 나와요.
(a+)+처럼 같은 글자를 여러 방식으로 나눠 보는 패턴은 입력이 조금만 길어도 계산이 폭발적으로 늘어나요. 정규식은 별도 작업 스레드(Web Worker)에서 돌리고 1초가 넘으면 멈춰서 페이지가 멈추지는 않아요. 중첩된 반복을 줄이도록 패턴을 고쳐 보세요.
치환 문자열에는 무엇을 쓸 수 있나요?
$1·$2는 번호 그룹, $<이름>은 이름 있는 그룹, $&는 일치한 전체, $$는 $ 글자 자체예요. 치환 칸을 비워 두면 일치한 부분을 지운 결과가 나오고, 그 아래에 비어 있다는 안내가 함께 나와요.
일치가 아주 많으면 어떻게 보여요?
처음 1000개까지만 찾아서 강조하고, [그룹 캡처] 표에는 그중 처음 100개만 보여 줘요. 잘린 경우에는 안내 문구가 함께 나와요.
