정규식 테스트
정규식과 검사할 글을 넣으면 일치한 부분을 바로 표시하고, 그룹과 치환 결과를 보여 줍니다. 자바스크립트 문법 기준입니다.
일치한 부분
치환 결과
자주 쓰는 정규식 문법
| 패턴 | 뜻 | 예 |
|---|---|---|
\d | 숫자 한 글자 | \d{4} → 2026 |
\w | 영문·숫자·밑줄 | 한글은 포함하지 않음 |
\s | 공백·탭·줄바꿈 | |
. | 줄바꿈을 뺀 아무 글자 | s 플래그면 줄바꿈 포함 |
^ $ | 줄(또는 글)의 시작과 끝 | m 플래그면 줄마다 |
* + ? | 0번 이상, 1번 이상, 0~1번 | colou?r |
{n,m} | n~m번 반복 | \d{3,4} |
[가-힣] | 한글 한 글자 | [가-힣]+ |
( ) | 그룹, 치환에서 $1로 사용 | (\d+)-(\d+) |
(?<이름> ) | 이름 붙은 그룹, $<이름> | |
a|b | a 또는 b |
코드로 하려면
이 페이지에서 확인한 패턴은 코드에서 이렇게 씁니다. 파이썬은 이름 그룹 문법이 (?P<name>...)로 다릅니다.
// 자바스크립트
"010-1234-5678".match(/01[016789]-\d{3,4}-\d{4}/g);
text.replace(/(\d{3})-(\d{4})-(\d{4})/g, "$1-****-$3");
# 파이썬
import re
re.findall(r"01[016789]-\d{3,4}-\d{4}", text)
re.sub(r"(\d{3})-(\d{4})-(\d{4})", r"\1-****-\3", text)다른 개발·데이터 도구
자주 묻는 질문
어떤 정규식 문법을 쓰나요?
자바스크립트(브라우저) 정규식입니다. 자바·파이썬과 대부분 같지만 파이썬의 (?P
g 플래그를 끄면 어떻게 되나요?
처음 일치한 하나만 찾습니다. 치환도 첫 번째만 바뀝니다. 전체를 찾으려면 g를 켜 두세요.
치환에서 $1, $& 는 무엇인가요?
$&는 일치한 글 전체, $1·$2는 괄호로 묶은 그룹, $<이름>은 이름 붙은 그룹입니다. 예: (\d{3})-(\d{4})를 $1****로 바꾸면 가운데 번호를 가릴 수 있습니다.
검사가 멈췄다고 나와요.
(a+)+처럼 반복 안에 반복이 있으면 글자 수가 늘수록 계산이 폭발적으로 늘어납니다. 2초가 넘으면 멈추고 알려 주니 패턴을 단순하게 바꾸세요.
한글은 \w로 찾을 수 없나요?
자바스크립트의 \w는 영문·숫자·밑줄만 뜻합니다. 한글은 [가-힣]을, 글자 전체는 u 플래그와 \p{L}을 쓰세요.