정규표현식 테스터

정규표현식(Regular Expression)을 실시간으로 테스트하고 매칭 결과를 확인합니다. 패턴 매칭, 그룹 캡처, 문자열 치환 기능을 제공합니다.

/ /
g

g: 전체 매칭, i: 대소문자 무시, m: 멀티라인, s: .이 줄바꿈 포함, u: 유니코드

매칭 결과

0 matches

매칭된 결과가 없습니다.

매칭된 패턴을 다른 문자열로 치환합니다.

자주 사용하는 패턴

정규표현식 치트시트

문자 클래스

. - 모든 문자 (줄바꿈 제외)
\d - 숫자 [0-9]
\D - 숫자 아님
\w - 단어 문자 [a-zA-Z0-9_]
\W - 단어 문자 아님
\s - 공백 문자
\S - 공백 아님

앵커

^ - 문자열/줄 시작
$ - 문자열/줄 끝
\b - 단어 경계
\B - 단어 경계 아님

수량자

* - 0회 이상
+ - 1회 이상
? - 0 또는 1회
{n} - 정확히 n회
{n,} - n회 이상
{n,m} - n~m회

그룹

(abc) - 캡처 그룹
(?:abc) - 비캡처 그룹
(?<name>abc) - 명명된 그룹
\1 - 역참조

전후방탐색

(?=abc) - 긍정 전방탐색
(?!abc) - 부정 전방탐색
(?<=abc) - 긍정 후방탐색
(?<!abc) - 부정 후방탐색

특수문자

[abc] - 문자 집합
[^abc] - 부정 문자 집합
[a-z] - 문자 범위
a|b - OR (택일)
\ - 이스케이프

정규표현식 테스터란?

정규표현식(Regular Expression, Regex) 테스터는 패턴 매칭을 실시간으로 테스트하고 결과를 시각적으로 확인할 수 있는 온라인 도구입니다. 텍스트 검색, 데이터 검증, 문자열 치환 등 프로그래밍과 텍스트 처리 작업에서 정규표현식은 필수 기술입니다. 이 도구는 패턴을 입력하면 즉시 매칭 결과를 하이라이트로 표시해주며, 이메일, 전화번호, URL 등 자주 사용하는 패턴 템플릿도 함께 제공합니다.

사용 방법

  1. 패턴 입력칸에 정규표현식을 슬래시 없이 입력합니다. 예를 들어 /[a-z]+/g를 테스트하려면 [a-z]+만 적으면 됩니다.
  2. 플래그 영역에서 필요한 옵션 버튼을 켭니다. g는 전체 매칭, i는 대소문자 무시, m은 멀티라인, s.이 줄바꿈까지 매칭, u는 유니코드 모드입니다.
  3. 테스트 문자열 칸에 검사할 텍스트를 붙여넣으면 매칭되는 부분이 즉시 하이라이트되고, 매칭 결과 영역에 매치 개수와 캡처 그룹 내용이 표시됩니다.
  4. 문자열을 바꿔치기하려면 치환 모드를 체크한 뒤 치환 문자열을 입력합니다. $1, $2로 캡처 그룹을, $&로 전체 매치를 참조할 수 있으며, 결과는 복사 버튼으로 가져갈 수 있습니다.
  5. 패턴이 잘 떠오르지 않을 때는 아래의 자주 사용하는 패턴 카드에서 템플릿을 클릭해 적용하고, 문법이 헷갈리면 정규표현식 치트시트를 참고하세요.

실전 패턴 시나리오

입력값 검증. 회원가입 폼에서 이메일을 검사한다면 ^[\w.+-]+@[\w-]+\.[\w.]+$ 정도의 패턴을 이 도구에서 여러 예시(정상 주소, @가 두 개인 주소, 도메인이 없는 주소)로 먼저 검증해 보는 것이 안전합니다. 한국 휴대폰 번호라면 ^01[016789]-?\d{3,4}-?\d{4}$처럼 하이픈 유무를 -?로 허용하는 패턴을 시험해 볼 수 있습니다. 참고로 RFC를 완벽히 따르는 이메일 정규식은 사실상 없으므로, 실무에서는 적당한 수준으로 거르고 확인 메일로 최종 검증하는 방식이 일반적입니다.

탐욕적(greedy) vs 게으른(lazy) 수량자. <b>굵게</b> 그리고 <i>기울임</i>이라는 문자열에 <.+>를 매칭하면 첫 <부터 마지막 >까지 전부 잡아버립니다. 수량자 뒤에 ?를 붙인 <.+?>는 가장 짧은 매치를 찾으므로 태그 하나하나가 따로 잡힙니다. 두 패턴을 직접 입력해 하이라이트 차이를 눈으로 비교해 보면 개념이 확실히 잡힙니다.

캡처 그룹으로 형식 바꾸기. 로그에 찍힌 2026-07-02 형식의 날짜를 02/07/2026으로 일괄 변환해야 한다면, 패턴에 (\d{4})-(\d{2})-(\d{2})를 넣고 치환 모드에서 치환 문자열을 $3/$2/$1로 지정하면 됩니다. 에디터의 찾기/바꾸기에 적용하기 전에 여기서 먼저 결과를 확인하면 실수를 예방할 수 있습니다.

자주 묻는 질문

이 테스터는 어떤 정규식 문법을 기준으로 하나요?

브라우저에 내장된 JavaScript(ECMAScript) 정규식 엔진을 그대로 사용합니다. 기본 문법은 대부분의 언어와 같지만, 후방탐색(lookbehind)이나 유니코드 속성 클래스 같은 고급 기능은 언어와 버전에 따라 지원 범위가 다릅니다. Python, Java 등 다른 언어에서 쓸 패턴이라면 핵심 로직을 여기서 검증한 뒤 해당 언어에서 한 번 더 확인하는 것이 좋습니다.

g 플래그를 끄면 어떻게 되나요?

첫 번째 매치만 찾고 검색이 멈춥니다. 텍스트 전체에서 모든 매치를 확인하려면 g 플래그를 켜 두세요. 치환 모드에서도 g가 꺼져 있으면 첫 매치만 바뀝니다.

마침표나 괄호 같은 특수문자를 찾으려면 어떻게 하나요?

정규식에서 의미를 가진 문자(. * + ? ^ $ ( ) [ ] { } | \)는 앞에 역슬래시를 붙여 이스케이프해야 합니다. 실제 마침표를 찾으려면 \., 여는 괄호를 찾으려면 \(로 적습니다.

여러 줄 텍스트에서 각 줄의 시작을 매칭하려면요?

m(멀티라인) 플래그를 켜세요. 기본 상태에서 ^$는 문자열 전체의 시작과 끝만 가리키지만, m을 켜면 각 줄의 시작과 끝에도 매칭됩니다. 로그 파일에서 특정 접두어로 시작하는 줄만 골라낼 때 필수입니다.

패턴을 입력했더니 브라우저가 느려지는 이유는 무엇인가요?

(a+)+b처럼 중첩된 반복이 들어간 패턴은 매치 실패 시 경우의 수를 기하급수적으로 되짚는 파국적 백트래킹(catastrophic backtracking)을 일으킬 수 있습니다. 반복 구조를 단순화하거나 문자 집합을 더 구체적으로 제한하면 해결됩니다. 서버 코드에 이런 패턴이 들어가면 ReDoS 공격의 표적이 될 수 있으니 주의하세요.

한글을 매칭하려면 어떤 패턴을 쓰나요?

완성형 한글 음절은 [가-힣] 범위로 매칭할 수 있습니다. 자음·모음 낱자까지 포함하려면 [ㄱ-ㅎㅏ-ㅣ가-힣]처럼 범위를 넓히면 됩니다. 이모지 등 다국어 문자를 다룰 때는 u 플래그를 켜는 것이 안전합니다.

치환 문자열에 $ 기호 자체를 넣으려면 어떻게 하나요?

$$로 적으면 달러 기호 하나로 치환됩니다. $1처럼 숫자가 뒤따르는 형태는 캡처 그룹 참조로 해석되기 때문에, 금액 표기처럼 달러 기호가 필요한 치환에서는 반드시 두 번 겹쳐 써야 합니다.

그룹이 많아지면 번호가 헷갈리는데 방법이 없나요?

명명된 그룹을 쓰면 됩니다. (?<year>\d{4})-(?<month>\d{2})처럼 이름을 붙이면 치환 문자열에서 $<year> 형태로 참조할 수 있어, 그룹 순서가 바뀌어도 치환식을 고칠 필요가 없습니다. 그룹화만 필요하고 캡처는 필요 없는 자리는 (?:...) 비캡처 그룹으로 처리하면 번호가 늘어나는 것도 막을 수 있습니다.

테스트한 문자열이 서버에 저장되나요?

아니요. 패턴 매칭은 전부 브라우저 안에서 실행되며 입력한 패턴과 테스트 문자열은 어디에도 전송되지 않습니다. 고객 데이터가 포함된 로그 조각도 안심하고 붙여넣을 수 있습니다.

함께 쓰면 좋은 도구

함께 보면 도움되는 글