홈 / 텍스트 / 정규식 테스터

정규식 테스터

정규식 테스트를 무료로 하세요. 입력 즉시 매치 하이라이트, g/i/m/s 플래그, 그룹·위치 매치 목록, $1 치환 미리보기와 정규식 치트시트까지. 회원가입 없이, 서버 전송 없이 브라우저에서 바로 처리됩니다.

실시간 매치 표시정규식 설명·치트시트한글 프리셋치환 미리보기

다음 계산

이어서 많이 찾는 계산

이용 방법

패턴을 입력하세요

테스트할 정규식 패턴을 입력하세요. 문법 오류는 즉시 알려줍니다.

플래그와 문자열 입력

g·i·m·s 플래그를 고르고 테스트 문자열을 입력하면 매치가 하이라이트됩니다.

치환을 확인하세요

치환란에 $1, $2 같은 그룹 참조를 입력하면 미리보기를 볼 수 있습니다.

설명·프리셋 활용

어려운 패턴은 [설명 보기]로 뜻을 확인하고, 한글·전화번호 등 자주 쓰는 패턴은 프리셋에서 고르세요.

핵심 답변

정규식(정규표현식)은 문자열에서 원하는 패턴을 찾아내는 규칙입니다. 예를 들어 [0-9]{3}-[0-9]{4}는 "010-1234" 같은 전화번호 형태를 찾습니다. 이 도구에서 패턴을 입력하면 테스트 문자열의 매치가 실시간으로 하이라이트되고, 그룹·위치·치환 결과까지 바로 확인할 수 있습니다.

마지막 업데이트: 2026년 9월 17일
정규식 핵심 문법 치트시트
패턴의미예
.줄바꿈 제외 모든 문자a.c → abc, a1c
\d숫자 (0-9)\d{3} → 010
\w영문·숫자·_\w+ → hello123
\s공백 문자a\sb → a b
[가-힣]한글 한 글자[가-힣]+ → 홍길동
^문자열·줄 시작^010 → 010으로 시작
$문자열·줄 끝com$ → com으로 끝
*0회 이상 반복ab* → a, ab, abb
+1회 이상 반복ab+ → ab, abb
?0 또는 1회colou?r → color, colour
{n,m}n~m회 반복\d{2,4} → 02, 010
( )그룹(캡처)(\d+)-(\d+) → $1, $2
|또는cat|dog
\이스케이프\. → 진짜 점(.)
플래그 한눈에 보기
플래그이름효과
gglobal첫 매치에서 멈추지 않고 전체 검색
iignoreCase대소문자 구분 안 함 (A = a)
mmultiline^·$가 문자열 전체가 아닌 줄 단위로 동작
sdotAll.이 줄바꿈(\n)에도 매치됨

심화 가이드

점이 줄바꿈에 매치되지 않아요

기본적으로 .(점)은 줄바꿈(\n)에 매치되지 않습니다. 여러 줄에 걸친 내용을 한 번에 찾으려면 s 플래그(줄바꿈 포함)를 켜세요. s를 켜면 .이 줄바꿈까지 포함한 모든 문자에 매치됩니다. 구형 환경에서는 [\s\S]를 쓰는 방법도 있지만, 이 도구에서는 s 플래그면 충분합니다.

그룹 ( ) 과 $1 치환 문법

괄호로 묶은 부분은 그룹이 되어 따로 값을 꺼낼 수 있습니다. 예를 들어 (\d{3})-(\d{4})에서 첫 번째 괄호가 $1, 두 번째가 $2입니다. 치환 입력창에 $1-****처럼 쓰면 전화번호 가운데 자리를 가리는 마스킹을 바로 만들 수 있습니다. 매치 목록에서 각 그룹의 실제 값을 확인할 수 있으니 치환 전에 먼저 보세요.

탐욕적(greedy) 매칭이 너무 많이 잡아요

<.*>처럼 쓰면 첫 <부터 마지막 >까지 통째로 잡히는 경우가 있습니다. *·+는 기본적으로 최대한 많이 가져가려는 탐욕적 동작을 하기 때문입니다. *?·+?처럼 ?를 붙이면 최소한만 가져가는 게으른(lazy) 매칭이 됩니다. <.*?>는 태그 하나씩만 잡아냅니다.

한글을 매칭하고 싶어요

한글 한 글자는 [가-힣]으로 매칭합니다. [가-힣]+는 "홍길동" 같은 한글 단어 전체를 찾습니다. 한글 이름·주소를 검증하는 패턴을 만들 때 유용합니다. 테스트할 문장이 길다면 글자수 세기 도구에서 길이를 먼저 확인해 보세요.

자주 쓰는 정규식 패턴 모음

실무에서 자주 쓰이는 패턴 몇 가지만 알아두면 정규식이 훨씬 친숙해집니다. 이메일은 [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,} 형태로, 한국 휴대폰 번호는 01[0-9]-[0-9]{3,4}-[0-9]{4} 형태로 찾을 수 있습니다. 날짜는 [0-9]{4}-[0-9]{2}-[0-9]{2}처럼 자릿수를 지정하면 되고, 공백 제거에는 \s+를 활용합니다. 패턴을 가져다 쓸 때는 이 도구에서 실제 데이터로 테스트해 보는 습관이 중요합니다. 복사한 패턴이 생각과 다르게 동작하는 경우가 많기 때문입니다. 매치 결과가 하이라이트로 바로 보이니, 테스트 문자열을 바꿔 가며 경계 조건까지 확인해 보세요. 익숙해지면 자주 쓰는 패턴은 따로 메모해 두고 재사용하면 업무 속도가 눈에 띄게 빨라집니다.

전방탐색(lookahead)으로 조건 걸기

전방탐색은 뒤에 이런 내용이 오는 경우에만 매치라는 조건을 거는 문법입니다. (?=...) 형태로 쓰며, 실제로는 그 부분을 소비하지 않고 조건만 확인합니다. 예를 들어 비밀번호 규칙을 검사할 때 (?=.*[0-9])는 어딘가에 숫자가 있어야 한다는 조건이 됩니다. 영문과 숫자를 모두 요구하는 규칙은 (?=.*[A-Za-z])(?=.*[0-9])처럼 나열하면 됩니다. 부정형 (?!...)도 유용합니다. (?!admin)과 같이 쓰면 특정 단어로 시작하는 경우를 제외할 수 있습니다. 전방탐색은 매치 위치를 옮기지 않으므로 복잡한 조건을 한 패턴에 담을 수 있다는 장점이 있습니다. 이 도구에서 패턴을 입력하고 테스트 문자열의 앞부분을 바꿔 가며 조건이 제대로 걸리는지 확인해 보세요.

이메일·URL 검증 패턴의 함정

이메일 검증용으로 떠도는 정규식을 그대로 쓰면 생각보다 많은 경우를 놓치거나 잘못 걸러냅니다. 예를 들어 [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,} 패턴은 대부분의 주소를 잡지만, 국제 도메인이나 특수한 형식은 매치하지 못합니다. 완벽한 이메일 정규식은 사실상 불가능에 가깝다는 것을 알아두세요. 실무에서는 정규식으로 1차 걸러낸 뒤 실제 메일 발송으로 확인하는 방식을 많이 씁니다. URL 검증도 마찬가지입니다. http(s)://로 시작하는지만 확인할 것인지, 도메인 형식까지 따질 것인지 목적에 따라 패턴의 엄격함을 조절하세요. 이 도구에서 통과해야 할 예시와 걸러야 할 예시를 나란히 놓고 테스트하면 적절한 수준을 찾기 쉽습니다. 너무 엄격한 패턴은 정상 입력까지 막는다는 점을 기억하세요.

이 도구는 자바스크립트(JavaScript) 정규식 문법을 사용합니다. 모든 테스트는 브라우저 안에서 처리되며 입력 내용이 서버로 전송되지 않습니다. 과도하게 복잡한 패턴은 매치 표시가 최대 1,000개로 제한됩니다.

자주 묻는 질문

정규식(정규표현식)이란 무엇인가요?
문자열에서 특정 패턴을 찾아내거나 검증·치환하기 위한 규칙입니다. 예를 들어 ^[0-9]+$는 "숫자로만 이루어진 문자열"을 의미합니다. 이메일 형식 검사, 전화번호 추출, 특정 단어 일괄 치환 등에 쓰이며, 자바스크립트·파이썬 등 대부분의 언어에서 지원합니다.
매치가 하나도 안 나와요. 어디가 틀린 건가요?
가장 흔한 원인은 이스케이프 누락입니다. 점(.)·괄호·$ 같은 특수문자를 문자 그대로 찾으려면 앞에 \를 붙여야 합니다(예: \.). 또는 ^·$ 위치, s 플래그(줄바꿈) 설정을 확인해 보세요. 이 도구는 패턴 문법 오류를 바로 알려줍니다.
. (점)이 줄바꿈에 매치되지 않아요.
기본적으로 .은 줄바꿈(\n)을 제외한 모든 문자에 매치됩니다. 여러 줄에 걸친 텍스트를 찾으려면 s 플래그(줄바꿈 포함)를 켜세요. s를 켜면 .이 줄바꿈까지 매치합니다.
$1, $2는 무슨 뜻인가요?
괄호 ( ) 로 묶은 그룹을 치환 문자열에서 참조하는 문법입니다. (\d{3})-(\d{4}) 패턴에서 $1은 첫 번째 괄호(앞 3자리), $2는 두 번째 괄호(뒤 4자리)를 가리킵니다. 치환창에 $1-****처럼 쓰면 마스킹 처리를 바로 만들 수 있습니다.
g 플래그를 켜야 하나요?
문자열 전체에서 모든 매치를 찾으려면 g(전체 검색)를 켜세요. g가 없으면 첫 번째 매치에서 멈춥니다. 매치 목록·치환 미리보리를 제대로 보려면 보통 g를 켜 두는 것이 좋습니다.
한글은 어떻게 매칭하나요?
한글 한 글자는 [가-힣] 패턴으로 매칭합니다. [가-힣]+는 "홍길동" 같은 한글 단어를 찾습니다. 자모가 분리된 옛 한글까지 다룰 일은 거의 없으니 [가-힣]이면 충분합니다.
탐욕적(greedy) 매칭과 게으른(lazy) 매칭이 뭔가요?
*·+는 기본적으로 최대한 많이 가져가려는 탐욕적 동작을 합니다. <.*>는 첫 <부터 마지막 >까지 통째로 잡을 수 있습니다. 뒤에 ?를 붙인 *?·+?는 최소한만 가져가는 게으른 매칭으로, <.*?>는 태그 하나씩만 잡습니다.
이 도구의 정규식 문법은 어떤 기준인가요?
자바스크립트(JavaScript) 정규식 문법을 따릅니다. 브라우저에서 바로 동작하므로, 웹 개발(자바스크립트·TypeScript)에서 쓰는 패턴을 그대로 테스트할 수 있습니다. 파이썬 등과 99% 같지만, 일부 고급 문법(룩비하인드 등)은 환경마다 차이가 있으니 실제 사용 환경에서 최종 확인하세요.
정규식이 너무 느리거나 멈춰 보여요
대부분 탐욕적 반복이 중첩된 것이 원인입니다. (a+)+ 같은 패턴은 경우의 수가 폭발적으로 늘어나 멈춘 것처럼 보일 수 있습니다. 반복 범위를 구체적으로 적거나, 탐욕적 수량을 게으른 수량(+?)으로 바꾸면 해결되는 경우가 많습니다.
대소문자를 구분하지 않으려면 어떻게 하나요?
플래그에 i를 켜면 됩니다. /hello/i처럼 쓰면 Hello, HELLO도 매치됩니다. 이 도구에서는 플래그 입력란에 i를 추가하면 바로 적용됩니다. 대소문자를 구분해야 하는 경우(예: 비밀번호 규칙)에는 i를 끄고 테스트하세요.