오리데브오리박스

정규식 테스트

정규식과 검사할 글을 넣으면 일치한 부분을 바로 표시하고, 그룹과 치환 결과를 보여 줍니다. 자바스크립트 문법 기준입니다.

일치한 부분

자주 쓰는 정규식 문법

패턴뜻예
\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|ba 또는 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}을 쓰세요.