전체 도구 ↗
💻 이 도구는 PC에서 더 편하게 쓸 수 있어요 · 코드 복사·붙여넣기 작업용

정규식 테스터

정규식 매칭을 테스트합니다.

광고

설명

정규식 패턴과 플래그(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 정규식 기준으로 동작하나요?
네, 브라우저 기반이므로 JavaScript 정규식 엔진으로 동작합니다. Python·Java·Perl 등 다른 언어의 정규식과 세부 문법이 다를 수 있으므로 참고하여 사용하세요.
한글도 정규식으로 매칭할 수 있나요?
가능합니다. 한글 전체를 매칭하려면 유니코드 범위인 `[가-힣]`을 사용합니다. 자음만 추출하려면 `[ㄱ-ㅎ]`, 모음만이면 `[ㅏ-ㅣ]`를 쓸 수 있습니다.
플래그 g, i, m은 각각 무엇인가요?
g(global)는 첫 매칭 이후에도 계속 검색, i(case-insensitive)는 대소문자 구별 없이 매칭, m(multiline)은 ^와 $가 각 줄의 시작·끝에 매칭되도록 합니다. 일반적으로 전체 검색 시 g 플래그는 항상 켜두는 것이 좋습니다.
캡처 그룹은 어떻게 쓰나요?
소괄호로 감싸면 캡처 그룹이 됩니다. 예를 들어 `(\d{4})-(\d{2})`는 연도와 월을 각각 그룹 1, 그룹 2로 캡처합니다. 결과 창에서 각 그룹의 값을 따로 확인할 수 있습니다. 캡처 없이 그룹화만 하려면 `(?:...)` 비캡처 그룹을 씁니다.
패턴을 저장하거나 공유할 수 있나요?
이 도구는 서버 저장 기능 없이 브라우저에서만 동작합니다. 패턴을 공유하려면 URL 파라미터로 패턴이 담기는지 확인하거나, 직접 패턴 텍스트를 복사해서 전달하는 방법을 사용하세요.

개인정보처리방침

정규식 테스터로 무엇을 하나

패턴 입력창에 정규표현식을, 아래 텍스트 영역에 검사할 문자열을 넣으면 매칭된 부분이 즉시 하이라이트됩니다. 타이핑할 때마다 결과가 다시 계산되므로, 패턴을 한 글자씩 고쳐가며 어디까지 잡히는지 눈으로 확인하며 디버깅할 수 있습니다. 매칭 개수와 각 매치의 시작 위치, 캡처 그룹(괄호로 묶은 부분)의 값도 함께 표시돼서 (\d{4})-(\d{2}) 같은 패턴에서 연·월이 각각 어떻게 분리되는지 바로 파악됩니다.

작동 원리와 플래그

이 도구는 브라우저의 JavaScript RegExp 엔진을 그대로 사용합니다. 즉 여기서 통과한 패턴은 실제 웹 프론트엔드 코드에 복사해 그대로 써도 동일하게 동작합니다. 플래그는 아래처럼 작동합니다.

플래그효과
g첫 매치에서 멈추지 않고 전체에서 모든 매치를 찾음
i대소문자 구분 없이 매칭
m^와 $를 각 줄의 시작·끝에도 적용(여러 줄)
s.이 줄바꿈 문자까지 포함해 매칭

모든 계산은 브라우저 안에서만 이뤄지고 입력한 텍스트는 서버로 전송되지 않으므로, 로그나 개인정보가 섞인 문자열을 붙여넣어도 외부에 남지 않습니다.

이럴 때 씁니다

이메일·전화번호·주민번호 형식 검증 패턴을 실제 데이터에 대보며 예외 케이스를 찾을 때, 로그 파일에서 특정 에러 라인만 골라낼 grep용 패턴을 다듬을 때, 코드 편집기의 찾기·바꾸기에 넣을 치환 패턴을 미리 검증할 때 유용합니다. 특히 g 플래그를 켜고 긴 텍스트를 붙여넣으면 의도치 않게 과하게 잡히는 부분(탐욕적 매칭)을 한눈에 발견해, .*.*?로 바꾸는 등 수정 방향을 잡기 좋습니다.

실전 팁

매치가 0건이면 대부분 이스케이프 문제입니다. 점(.)이나 물음표(?)처럼 특수문자를 문자 그대로 찾으려면 \., \?로 백슬래시를 붙여야 합니다. 원하는 것보다 넓게 잡히면 +, * 뒤에 ?를 붙여 게으른 매칭으로 바꾸세요. 단어 단위로 정확히 끊고 싶을 때는 \b(단어 경계)를 활용하면 catcategory에 걸리지 않습니다.

자주 묻는 질문

여기서 되는 패턴이 파이썬에서도 되나요?

기본 문법은 대부분 호환되지만 엔진마다 차이가 있습니다. 이 도구는 JavaScript 기준이라 (?<name>...) 명명 그룹, 룩비하인드 등 일부 표기가 파이썬 re와 미묘하게 다를 수 있으니, 최종적으로는 실제 사용할 언어에서 한 번 더 확인하세요.

매치가 하나만 잡히고 멈춰요.

g 플래그가 꺼져 있으면 첫 매치에서 종료됩니다. 모든 결과를 보려면 g 플래그를 켜세요.

한글도 매칭되나요?

됩니다. [가-힣]+로 한글 음절을 잡을 수 있고, \w는 기본적으로 영문·숫자·밑줄만 포함하므로 한글을 포함하려면 u 플래그와 유니코드 속성(\p{L})을 쓰는 편이 정확합니다.

입력한 텍스트가 저장되나요?

아니요. 매칭 연산이 전부 브라우저에서 처리되어 텍스트가 서버로 전송·저장되지 않습니다.