Examples

실제 입력과 결과

그룹으로 날짜 형식 바꾸기

입력

패턴  (\d{4})-(\d{2})-(\d{2})
치환  $3/$2/$1
대상  2026-08-11

결과

11/08/2026

탐욕적 수량자와 게으른 수량자

입력

대상  <b>one</b><b>two</b>
패턴A <b>.*</b>
패턴B <b>.*?</b>

결과

A  <b>one</b><b>two</b>  (전체를 한 번에)
B  <b>one</b>            (가장 짧게)

.*는 최대한 길게, .*?는 최대한 짧게 잡습니다. 태그나 인용부호를 다룰 때 결과가 갈리는 지점입니다.

Troubleshooting

자주 만나는 오류

점(.)이 모든 걸 잡아버릴 때

.는 줄바꿈을 제외한 모든 문자입니다. 여기에 *가 붙으면 의도한 종료 지점을 지나쳐 끝까지 삼킵니다. .*? 로 바꾸거나 [^<]* 처럼 문자 집합을 좁히세요.

특수문자를 그대로 찾고 싶을 때

. + * ? ( ) [ ] { } | ^ $ \ 는 정규식 문법 문자입니다. 문자 그대로 찾으려면 앞에 백슬래시를 붙이세요. 예를 들어 소수점은 \. 입니다.

같은 정규식이 두 번째 호출에서 실패할 때

JavaScript에서 g 플래그가 붙은 정규식 객체는 lastIndex를 기억합니다. test나 exec를 반복 호출하면 이전 위치부터 검색합니다. 매번 새로 만들거나 lastIndex를 0으로 되돌리세요.

Related

함께 쓰면 좋은 도구

Guide

정규식 테스트가 특히 도움 되는 작업

입력값 검증 규칙 점검

이메일, 슬러그, 사번, 주문번호처럼 형식 제약이 있는 값을 프론트엔드나 백엔드에 넣기 전에 빠르게 시뮬레이션할 수 있습니다.

로그에서 ID 추출

에러 로그나 API 응답에서 특정 토큰, UUID, 경로 조각만 뽑아내는 패턴을 만들 때 매치 결과를 눈으로 확인하기 좋습니다.

치환 전 안전 점검

대량 치환이나 텍스트 정리 작업 전에 어떤 부분이 잡히는지 먼저 확인하면 실수로 과도하게 바뀌는 일을 줄일 수 있습니다.

Notes

정규식에서 자주 막히는 부분

g, i, m 플래그는 무엇이 다른가요?

g는 전체 검색, i는 대소문자 무시, m은 여러 줄 기준 앵커 동작에 영향을 줍니다. 필요에 따라 조합해서 확인해야 합니다.

패턴 오류가 왜 자꾸 나나요?

이스케이프 누락, 괄호 짝 불일치, 브라우저 자바스크립트 엔진이 지원하지 않는 문법 때문에 자주 발생합니다. 의심 구간을 작은 단위로 나눠 테스트하는 것이 빠릅니다.

이 페이지는 어떤 정규식 엔진을 쓰나요?

브라우저의 JavaScript 정규식 엔진을 기준으로 동작합니다. PCRE나 특정 서버 런타임과는 차이가 있을 수 있으니 배포 환경에서도 한 번 더 확인하는 것이 좋습니다.