정규식 테스터

🔢 계산/생성

정규표현식(Regex) 패턴을 작성하고 텍스트에 대해 실시간 매칭을 테스트합니다.

자주 사용하는 패턴

  • \d - 숫자, \w - 단어 문자, \s - 공백
  • + - 1개 이상, * - 0개 이상, ? - 0 또는 1개
  • ^ - 시작, $ - 끝
  • () - 캡처 그룹, (?:) - 비캡처 그룹

🔍 정규식 테스터란?

정규표현식(Regular Expression)은 문자열에서 특정 패턴을 찾고 조작하는 강력한 도구입니다. 이 테스터는 정규식을 실시간으로 테스트하며, 매칭 결과를 하이라이트로 시각화합니다.캡처 그룹, 플래그 설정, 문자열 치환까지 한 곳에서 확인할 수 있습니다.이메일, URL, 전화번호 등 자주 쓰는 패턴 프리셋으로 빠르게 시작할 수 있습니다.

💡 핵심 포인트

정규식은 코드에 넣기 전 꼭 테스트하세요. 작은 실수 하나가 모든 입력을 잘못 처리할 수 있어요.

📊 자주 사용하는 정규식 패턴

목적패턴설명
이메일[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}기본 이메일 형식
URLhttps?://[^\s]+http/https URL
숫자\d+1개 이상 숫자
공백 제거^\s+|\s+$앞뒤 공백

📖 정규식 문법 치트시트

정규식은 기호가 전부입니다. 아래 표만 손에 익으면 대부분의 패턴을 읽고 쓸 수 있습니다.

문자 클래스의미예시
.줄바꿈 제외 모든 문자a.c → abc, a1c
\d숫자 (0-9)\d\d → 42
\w영숫자와 밑줄\w+ → user_1
\s공백, 탭, 줄바꿈a\sb → a b
[abc]a, b, c 중 하나[aeiou] → 모음
[^abc]a, b, c 가 아닌 문자[^0-9] → 숫자 아님
수량자 · 위치의미예시
*0개 이상ab*c → ac, abbc
+1개 이상ab+c → abc (ac 불가)
?0개 또는 1개colou?r
{2,4}2개 이상 4개 이하\d{2,4} → 12, 1234
^문자열(줄) 시작^Hello
$문자열(줄) 끝\.com$
|또는cat|dog
플래그의미없으면 생기는 일
g전역 검색첫 번째 일치만 찾음
i대소문자 무시Apple과 apple을 구분
m여러 줄 모드^ $가 전체 문자열에만 적용
s. 이 줄바꿈도 포함. 이 줄바꿈을 건너뜀

⚠️ 정규식에서 자주 터지는 함정

  • 탐욕적 매칭 <.+> <b>글자</b> 전체를 한 덩어리로 잡습니다. 태그 하나만 잡으려면 <.+?>처럼 ?를 붙이세요.
  • 문자 클래스 안에서는 규칙이 다름 — 대괄호 안의 .은 그냥 마침표이고, -는 위치에 따라 범위 기호가 됩니다.
  • g 플래그와 상태 — 자바스크립트에서 g가 붙은 정규식 객체는 마지막 검색 위치를 기억합니다. 같은 객체를 반복 사용하면 결과가 들쭉날쭉해집니다.
  • 이메일 검증 과신 금지 — 정규식으로 완벽한 이메일 검증은 사실상 불가능합니다. 형식만 가볍게 거르고 실제 유효성은 인증 메일로 확인하는 편이 안전합니다.
  • 백트래킹 폭발 (a+)+b처럼 중첩된 수량자는 입력이 조금만 길어져도 처리 시간이 급격히 늘어날 수 있습니다.

💡 정규식 작성 팁

  • g 플래그: 전역 검색, 모든 일치 항목 찾기
  • i 플래그: 대소문자 구분 없이 검색
  • 캡처 그룹 (): 일치 부분 추출, $1, $2로 참조
  • 비탐욕적 *?: 가능한 적은 문자 매칭

자주 묻는 질문

정규식에서 특수문자를 어떻게 찾나요?

\로 이스케이프합니다. 예: \. (마침표), \? (물음표), \[ (대괄호). \는 두 번 (\\)으로 이스케이프합니다.

캡처 그룹과 비캡처 그룹의 차이는?

캡처 그룹 ()은 매칭된 부분을 저장해 $1, $2로 참조합니다. 비캡처 그룹 (?:)은 그룹화만 하고 저장하지 않습니다.

왜 패턴이 작동하지 않나요?

플래그를 확인하세요. g가 없으면 첫 번째만 매칭됩니다. 또한 JavaScript 정규식과 다른 언어의 정규식은 약간 다를 수 있습니다.

.+ 를 썼더니 너무 많이 잡혀요.

기본 동작이 탐욕적(greedy)이라 가능한 길게 매칭하기 때문입니다. 뒤에 ?를 붙여 .+? 로 바꾸면 가장 짧게 매칭하는 비탐욕 모드가 됩니다.

한글도 매칭할 수 있나요?

가능합니다. [가-힣]으로 완성형 한글을, [ㄱ-ㅎㅏ-ㅣ]로 자음·모음을 매칭할 수 있습니다. \w는 한글을 포함하지 않으니 주의하세요.

입력한 텍스트가 서버로 전송되나요?

아니요. 정규식 실행과 하이라이트 모두 브라우저에서 처리되며 패턴이나 테스트 문자열이 서버로 전송되지 않습니다.

관련 도구

광고