🧰미니 도구 모음
🔍

정규식 테스터

JavaScript 정규표현식 실시간 테스트, 매치 하이라이트, 그룹·치환 결과까지. 이메일·전화번호·URL 빠른 패턴 제공.

자주 쓰는 패턴

//g

정규표현식(Regex)이란?

정규표현식(Regular Expression, 줄여서 regex 또는 regexp)은 문자열에서 특정 패턴을 검색·매칭·치환하는 미니 프로그래밍 언어입니다. 1956년 수학자 스티븐 클레이니가 정의한 개념을 1968년 켄 톰슨이 ed 에디터에 구현한 이후, 현재는 JavaScript·Python·Java·PHP·SQL 등 거의 모든 언어와 VS Code·Sublime·노트패드++ 같은 에디터의 검색 기능에 내장되어 있습니다. 본 도구는 JavaScript ECMAScript regex 엔진을 사용하며, 패턴을 입력하면 매치 결과를 노란색으로 즉시 하이라이트하고 캡처 그룹·이름 그룹·치환 결과를 함께 표시합니다. 이메일·URL·전화번호·한글 같은 자주 쓰이는 패턴은 한 번의 클릭으로 적용 가능하며, 잘못된 패턴은 즉시 오류 메시지를 표시해 디버깅 시간을 단축합니다. 모든 매칭은 브라우저에서 수행되어 입력 데이터가 외부로 전송되지 않습니다.

정규식 문법 치트시트

기호의미예시
.임의의 한 글자(줄바꿈 제외)a.c → abc, axc
\d숫자 [0-9]\d+ → 123
\w단어 문자 [a-zA-Z0-9_]\w+ → hello
\s공백 문자(스페이스/탭/줄바꿈)\s+ → 공백
^ / $줄 시작 / 끝^Hello$
*0회 이상 반복a* → 빈, a, aa
+1회 이상a+ → a, aa
?0~1회(선택적)colou?r
{n,m}n~m회\d{3,4}
[abc]a, b, c 중 하나[가-힣]
(...)캡처 그룹(\d{4})-(\d{2})
|OR(둘 중 하나)cat|dog

플래그(Flag) 4종

  • g (global) — 첫 매치만이 아닌 모든 매치를 찾음. 치환·일괄 검색 시 필수.
  • i (ignoreCase) — 대소문자 무시. /hello/i는 Hello, HELLO도 매치.
  • m (multiline) — ^와 $가 각 줄의 시작/끝과 매치. 여러 줄 텍스트 처리 시 필요.
  • s (dotAll) — .이 줄바꿈도 포함. 멀티라인 캡처 시 사용.

실전 정규식 예시

용도패턴
한국 휴대폰^01[016789]-?\d{3,4}-?\d{4}$
주민번호 앞 6자리^\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])$
사업자등록번호^\d{3}-?\d{2}-?\d{5}$
강력한 비밀번호^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,}$
YYYY-MM-DD^\d{4}-\d{2}-\d{2}$
한글만 추출[가-힣]+

자주 묻는 질문 (FAQ)

Q. 어떤 정규식 엔진을 사용하나요?

A. JavaScript의 RegExp(ECMAScript) 엔진을 사용합니다. PHP의 PCRE, Python의 re와는 일부 문법이 다를 수 있으니 주의하세요. 예: PCRE의 (?P<name>...) 대신 JavaScript는 (?<name>...) 사용.

Q. 캡처 그룹과 이름 그룹은 어떻게 활용하나요?

A. (...)로 묶은 부분은 매치 결과의 그룹 1, 2, ...로 추출됩니다. (?<name>...)로 이름을 붙이면 키로 접근할 수 있습니다. 치환 시 $1, $2 또는 $<name>으로 그룹을 참조하세요.

Q. 무한 루프(catastrophic backtracking)가 위험하지 않나요?

A. 본 도구는 1만 회 매치 후 자동 중단되도록 안전장치가 있어 브라우저 멈춤을 방지합니다. 중첩 수량자((a+)+)는 가급적 피하고, 명확한 패턴을 작성하세요.

Q. 입력한 패턴·문자열이 외부로 전송되나요?

A. 아니요. 모든 매칭은 브라우저에서 수행되며 외부 서버로 전송되지 않습니다. 비밀번호·내부 코드도 안전하게 테스트할 수 있습니다.

Q. 한글·이모지도 매치되나요?

A. 한글은 [가-힣], 이모지는 \p{Emoji}(u 플래그 필요) 같은 유니코드 속성으로 매치 가능합니다. 본 도구는 유니코드를 기본 지원하며, 한글 패턴도 정상 동작합니다.

사용 방법

  1. 1정규표현식 패턴을 입력창에 작성하세요.
  2. 2테스트할 텍스트를 입력하면 매치되는 부분이 실시간으로 하이라이팅됩니다.
  3. 3그룹 캡처 결과와 치환 기능을 활용해보세요.

활용 예시

  • 이메일, 전화번호 형식 검증 패턴 테스트
  • 문자열에서 특정 패턴 추출
  • 텍스트 일괄 치환
  • 로그 파일 파싱 패턴 개발

자주 묻는 질문

Q. 정규표현식 플래그(g, i, m 등)를 사용할 수 있나요?

A. 네, 전역 검색(g), 대소문자 무시(i), 멀티라인(m) 등 플래그를 설정할 수 있습니다.

Q. 자바스크립트 정규식 문법을 사용하나요?

A. 네, JavaScript(ECMAScript) 정규표현식 문법을 기준으로 동작합니다.