정규식 테스터

정규표현식을 실시간으로 테스트하고 치환합니다. 매치 부분 하이라이트, 캡처 그룹, 치환 결과를 한 번에 확인하세요.

/ /

정규식 테스터란?

정규표현식(정규식, Regular Expression)은 문자열에서 원하는 패턴을 찾거나 바꾸기 위한 표현 방식입니다. 이 도구는 패턴과 플래그를 입력하면 즉시 테스트 문자열에서 매치되는 부분을 노란색으로 하이라이트하고, 매치 개수와 각 매치의 캡처 그룹을 보여줍니다. 치환 모드를 켜면 $1 같은 치환 패턴으로 바꾼 결과도 바로 얻을 수 있습니다. 모든 처리는 브라우저 안에서만 이루어집니다.

사용법

  • 패턴 칸에 정규식을 입력합니다. 양옆의 / 슬래시는 빼고 내용만 적습니다.
  • 필요한 플래그(g i m s u y)를 체크합니다. 모든 매치를 찾으려면 g를 켜세요.
  • 테스트 문자열을 입력하면 매치 부분이 하이라이트되고 캡처 그룹이 표시됩니다.
  • 치환 모드를 켜고 치환 문자열을 입력하면 변환 결과를 복사할 수 있습니다.

정규식 치트시트

패턴의미
.줄바꿈을 제외한 모든 한 문자
\d / \D숫자 / 숫자가 아닌 문자
\w / \W단어 문자(영문·숫자·_) / 그 외
\s / \S공백 문자 / 공백이 아닌 문자
*앞 요소 0개 이상 반복
+앞 요소 1개 이상 반복
?앞 요소 0개 또는 1개 (선택)
{n} / {n,m}정확히 n개 / n~m개 반복
[abc] / [^abc]a·b·c 중 하나 / 그것을 제외한 문자
[a-z]a부터 z까지의 범위
(…)그룹 묶기 (캡처 그룹)
(?:…)캡처하지 않는 그룹
a|ba 또는 b
^ / $줄/문자열의 시작 / 끝
\b단어 경계
\.특수문자 이스케이프(실제 점 문자)

패턴 설명 패널

패턴을 입력하면 패턴 설명 영역이 나타나 입력한 정규식을 토큰 단위로 잘라 각 기호가 무슨 뜻인지 한국어로 풀어 줍니다. 예를 들어 (\d{4})-(\d{2})를 넣으면 캡처 그룹 시작, 숫자, 정확히 네 번 반복, 문자 그대로 하이픈처럼 조각마다 설명이 붙습니다. 이름 있는 그룹, 캡처하지 않는 그룹 (?:…), 전방탐색 (?=…)·(?!…), 후방탐색 (?<=…)·(?<!…), 문자 클래스, 반복 횟수 지정까지 인식하므로 남이 작성한 복잡한 패턴을 읽을 때 도움이 됩니다.

매치 상세와 캡처 그룹

매치가 있으면 매치 상세에 각 매치의 시작·끝 위치(문자 인덱스)와 매치된 텍스트가 순서대로 표시되고, 괄호로 묶은 캡처 그룹이 있으면 그룹 번호별 값이 함께 나옵니다. (?<year>\d{4})처럼 이름을 붙인 그룹은 이름으로도 표시되며, 선택적 그룹이 매치되지 않았을 때는 값 대신 "(없음)"으로 구분해 보여 줍니다. 로그 한 줄에서 날짜·레벨·메시지를 각각 뽑아내는 패턴을 만들 때 그룹이 의도대로 잡히는지 바로 확인할 수 있습니다.

치환 규칙

치환 모드를 켜면 자바스크립트 String.replace의 치환 규칙을 그대로 사용할 수 있습니다.

  • $1, $2 — 번호로 캡처 그룹 참조
  • $& — 매치된 전체 문자열
  • $$ — 달러 기호 자체
  • $`$' — 매치 앞·뒤 문자열

예를 들어 패턴 (\d{4})-(\d{2})-(\d{2})에 치환 문자열 $1년 $2월 $3일을 넣으면 2026-06-222026년 06월 22일로 바뀝니다. 전체를 바꾸려면 g 플래그를 함께 켜야 합니다.

자주 하는 실수와 주의점

  • 패턴 칸에는 양옆의 슬래시를 빼고 내용만 적습니다. /\d+/g를 통째로 붙여넣으면 슬래시까지 문자로 취급됩니다.
  • g 플래그가 꺼져 있으면 첫 번째 매치만 잡힙니다. 치환도 첫 번째만 바뀝니다.
  • .는 기본적으로 줄바꿈에 매치되지 않습니다. 여러 줄을 한 덩어리로 다루려면 s 플래그를 켜세요.
  • *+는 최대한 길게 잡는 탐욕적 반복입니다. 최소한만 잡으려면 *?, +?처럼 물음표를 붙입니다.
  • 점·괄호·대괄호 같은 특수문자를 문자 그대로 찾으려면 \.처럼 역슬래시로 이스케이프해야 합니다.
  • 브라우저의 자바스크립트 엔진을 그대로 쓰므로 PCRE나 파이썬 re에만 있는 문법은 동작하지 않을 수 있습니다.

자주 묻는 질문

정규표현식(정규식)이란 무엇인가요?

문자열에서 특정 패턴을 찾거나 바꾸기 위해 사용하는 표현 방식입니다. 예를 들어 \d+ 는 한 개 이상의 숫자를, [a-z]+ 는 한 개 이상의 소문자를 의미합니다. 검색, 치환, 입력값 검증 등 다양한 곳에 쓰입니다.

플래그 g, i, m, s, u, y는 각각 무슨 뜻인가요?

g는 전역(모든 매치), i는 대소문자 무시, m은 여러 줄 모드(^ $가 각 줄에 적용), s는 점(.)이 줄바꿈도 포함, u는 유니코드 모드, y는 sticky(지정 위치부터 매치)입니다. 여러 매치를 찾으려면 보통 g 플래그를 켭니다.

매치가 여러 개인데 하나만 잡혀요.

g(전역) 플래그가 꺼져 있으면 첫 번째 매치만 찾습니다. 모든 매치를 하이라이트하고 전부 치환하려면 g 플래그를 켜세요.

치환 문자열에서 캡처 그룹을 어떻게 쓰나요?

$1, $2처럼 번호로 참조하고, $& 는 매치된 전체 문자열, $$ 는 달러 기호 자체를 뜻합니다. 이름 있는 그룹은 달러 기호 뒤에 꺾쇠괄호로 이름을 감싸 참조합니다. 자바스크립트 replace의 치환 규칙을 그대로 따릅니다.

패턴 설명 패널은 무엇인가요?

입력한 패턴을 토큰 단위로 잘라 각 기호가 무슨 뜻인지 한국어로 풀어 주는 기능입니다. 패턴을 입력하면 자동으로 나타나며, 정규식을 처음 배울 때나 남이 작성한 복잡한 패턴을 읽을 때 도움이 됩니다.

이 도구는 어떤 정규식 문법을 따르나요?

브라우저에 내장된 자바스크립트 RegExp 엔진을 그대로 사용합니다. 이름 있는 그룹, 전방·후방탐색 같은 문법은 쓸 수 있지만, PCRE나 파이썬 re에만 있는 문법은 동작하지 않을 수 있습니다.

빈 문자열에 매치되면 어떻게 표시되나요?

길이가 0인 매치는 결과 영역에 빈 매치 표시로 나타납니다. 이런 패턴은 무한 반복이 생길 수 있어 매치 위치를 한 칸씩 밀며 처리하며, 전체 매치 수는 10만 개에서 멈춥니다.

입력한 내용이 서버로 전송되나요?

아니요. 모든 정규식 테스트와 치환은 브라우저 안에서만 실행되며 입력한 패턴과 텍스트는 서버로 전송되거나 저장되지 않습니다.