정규식 테스터
정규식 매칭을 테스트합니다.
설명
정규식 패턴과 플래그(g,i,m 등)로 텍스트에서 일치 부분을 하이라이트하고 개수를 표시합니다.
관련 도구
정규식(Regular Expression) 패턴을 작성한 뒤 실제 텍스트에 대입해 매칭 결과를 바로 확인할 수 있는 개발자 도구입니다. 코드 에디터를 열거나 직접 코드를 실행하지 않아도, 브라우저에서 패턴을 즉시 테스트하고 수정할 수 있습니다. 로그 파싱, 입력값 유효성 검사, 텍스트 치환 로직 개발 시 패턴을 빠르게 검증하는 용도로 널리 쓰입니다.
사용 방법
패턴 입력란에 정규식을 입력하고(슬래시 없이 패턴만 입력), 플래그(g·i·m 등)를 체크한 뒤, 테스트할 텍스트를 아래 영역에 붙여넣습니다. 매칭된 부분은 즉시 하이라이트로 표시되며, 전체 매칭 수와 각 캡처 그룹의 값도 함께 나타납니다. 패턴을 수정하면 실시간으로 결과가 업데이트되므로 반복적인 패턴 조정이 편리합니다. 치환 기능이 있다면 replace 문자열을 입력해 치환 결과 미리보기도 가능합니다.
자주 쓰는 패턴 예시
이메일 주소 추출: `[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}`. 한국 휴대폰 번호: `01[016789]-?\d{3,4}-?\d{4}`. 날짜 형식(YYYY-MM-DD): `\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])`. URL 추출: `https?://[^\s]+`. 숫자만 추출: `\d+`. 이 패턴들을 복사해서 테스터에 바로 붙여넣고 자신의 데이터에 맞게 수정하면 시간을 크게 줄일 수 있습니다.
자주 하는 실수
특수문자(. * + ? ^ $ { } [ ] | ( ) \)를 리터럴로 쓰고 싶을 때 앞에 백슬래시(\)를 빠뜨리는 실수가 가장 흔합니다. 예를 들어 마침표를 그대로 쓰면 '임의의 한 글자'로 해석됩니다. 전체 문자열 매칭을 원할 때 `^`와 `$` 앵커를 빠뜨려 부분 매칭이 되는 것도 자주 발생합니다. 그리고 g 플래그 없이 패턴을 쓰면 첫 번째 매칭만 찾으므로 전체 검색이 안 됩니다. JavaScript와 Python의 정규식 문법이 세부적으로 다르므로(예: 파이썬의 `(?P<name>...)` 네임드 그룹), 어느 언어에서 쓸 패턴인지 확인하고 테스트하는 것이 중요합니다.
자주 묻는 질문
이 도구는 JavaScript 정규식 기준으로 동작하나요?
한글도 정규식으로 매칭할 수 있나요?
플래그 g, i, m은 각각 무엇인가요?
캡처 그룹은 어떻게 쓰나요?
패턴을 저장하거나 공유할 수 있나요?
개인정보처리방침
모든 처리는 브라우저 내부에서만 수행되며 입력값·파일은 서버로 전송·저장되지 않습니다. 광고: Google AdSense(쿠키 사용 가능, 설정). 문의 kjh920424@gmail.com
정규식 테스터로 무엇을 하나
패턴 입력창에 정규표현식을, 아래 텍스트 영역에 검사할 문자열을 넣으면 매칭된 부분이 즉시 하이라이트됩니다. 타이핑할 때마다 결과가 다시 계산되므로, 패턴을 한 글자씩 고쳐가며 어디까지 잡히는지 눈으로 확인하며 디버깅할 수 있습니다. 매칭 개수와 각 매치의 시작 위치, 캡처 그룹(괄호로 묶은 부분)의 값도 함께 표시돼서 (\d{4})-(\d{2}) 같은 패턴에서 연·월이 각각 어떻게 분리되는지 바로 파악됩니다.
작동 원리와 플래그
이 도구는 브라우저의 JavaScript RegExp 엔진을 그대로 사용합니다. 즉 여기서 통과한 패턴은 실제 웹 프론트엔드 코드에 복사해 그대로 써도 동일하게 동작합니다. 플래그는 아래처럼 작동합니다.
| 플래그 | 효과 |
|---|---|
| g | 첫 매치에서 멈추지 않고 전체에서 모든 매치를 찾음 |
| i | 대소문자 구분 없이 매칭 |
| m | ^와 $를 각 줄의 시작·끝에도 적용(여러 줄) |
| s | .이 줄바꿈 문자까지 포함해 매칭 |
모든 계산은 브라우저 안에서만 이뤄지고 입력한 텍스트는 서버로 전송되지 않으므로, 로그나 개인정보가 섞인 문자열을 붙여넣어도 외부에 남지 않습니다.
이럴 때 씁니다
이메일·전화번호·주민번호 형식 검증 패턴을 실제 데이터에 대보며 예외 케이스를 찾을 때, 로그 파일에서 특정 에러 라인만 골라낼 grep용 패턴을 다듬을 때, 코드 편집기의 찾기·바꾸기에 넣을 치환 패턴을 미리 검증할 때 유용합니다. 특히 g 플래그를 켜고 긴 텍스트를 붙여넣으면 의도치 않게 과하게 잡히는 부분(탐욕적 매칭)을 한눈에 발견해, .*를 .*?로 바꾸는 등 수정 방향을 잡기 좋습니다.
실전 팁
매치가 0건이면 대부분 이스케이프 문제입니다. 점(.)이나 물음표(?)처럼 특수문자를 문자 그대로 찾으려면 \., \?로 백슬래시를 붙여야 합니다. 원하는 것보다 넓게 잡히면 +, * 뒤에 ?를 붙여 게으른 매칭으로 바꾸세요. 단어 단위로 정확히 끊고 싶을 때는 \b(단어 경계)를 활용하면 cat이 category에 걸리지 않습니다.
자주 묻는 질문
여기서 되는 패턴이 파이썬에서도 되나요?
기본 문법은 대부분 호환되지만 엔진마다 차이가 있습니다. 이 도구는 JavaScript 기준이라 (?<name>...) 명명 그룹, 룩비하인드 등 일부 표기가 파이썬 re와 미묘하게 다를 수 있으니, 최종적으로는 실제 사용할 언어에서 한 번 더 확인하세요.
매치가 하나만 잡히고 멈춰요.
g 플래그가 꺼져 있으면 첫 매치에서 종료됩니다. 모든 결과를 보려면 g 플래그를 켜세요.
한글도 매칭되나요?
됩니다. [가-힣]+로 한글 음절을 잡을 수 있고, \w는 기본적으로 영문·숫자·밑줄만 포함하므로 한글을 포함하려면 u 플래그와 유니코드 속성(\p{L})을 쓰는 편이 정확합니다.
입력한 텍스트가 저장되나요?
아니요. 매칭 연산이 전부 브라우저에서 처리되어 텍스트가 서버로 전송·저장되지 않습니다.