ToolStack
EN

정규식 테스터

입력하는 즉시 매칭 결과와 캡처 그룹 확인

데이터는 서버로 전송되지 않습니다 — 모든 처리는 브라우저 안에서만 서버 전송 0건

//g

매칭 결과 2건

문의는 help@toolstacks.dev 또는 sales@example.co.kr 로 보내주세요.

#일치 문자열위치캡처 그룹
1help@toolstacks.dev4—
2sales@example.co.kr27—

정규식 테스터 사용법

정규식과 테스트 문자열을 넣으면 일치한 부분이 즉시 강조 표시되고, 아래 표에 각 일치의 위치와 캡처 그룹이 정리됩니다. 플래그는 체크박스로 켜고 끌 수 있으며, 위쪽 예시 버튼을 누르면 자주 쓰는 패턴과 샘플 문장이 함께 채워집니다.

기본 기호

  • . — 아무 문자 하나 (줄바꿈 제외)
  • \d \w \s — 숫자 / 문자·숫자·밑줄 / 공백
  • * + ? — 0회 이상 / 1회 이상 / 0회 또는 1회
  • {2,4} — 2회 이상 4회 이하 반복
  • [abc] — 괄호 안 문자 중 하나, [^abc]는 그 외
  • ^ $ — 문자열(또는 줄)의 시작과 끝
  • (…) — 캡처 그룹, (?:…)는 캡처하지 않는 그룹

가장 자주 겪는 함정: 탐욕적 반복

*와 +는 기본적으로 가능한 한 길게 잡습니다. <div>내용</div>에서 <.*>는 첫 <부터 마지막 >까지 전부를 한 덩어리로 가져갑니다.

뒤에 ?를 붙인 <.*?>로 바꾸면 가장 가까운 >에서 끊어 태그 하나씩 잡힙니다. 위 입력창에 두 패턴을 번갈아 넣어보면 차이가 바로 보입니다.

자주 묻는 질문

g 플래그를 켜고 끄면 무엇이 달라지나요?
g가 없으면 첫 번째 일치에서 멈추고, 있으면 문자열 전체에서 모든 일치를 찾습니다. 치환할 때도 마찬가지라 replace()에 g가 없으면 첫 번째만 바뀝니다. "왜 하나만 바뀌지?" 싶을 때 대부분 이 플래그가 빠진 경우입니다.
캡처 그룹은 어떻게 쓰나요?
괄호로 묶은 부분이 캡처 그룹이 되어 일치한 값을 따로 꺼낼 수 있습니다. (\d{4})-(\d{2})-(\d{2}) 처럼 쓰면 연·월·일이 각각 1, 2, 3번 그룹이 됩니다. (?<year>\d{4}) 형식으로 이름을 붙이면 번호 대신 이름으로 접근할 수 있어 읽기 쉽습니다.
.* 가 예상보다 너무 많이 잡아갑니다.
정규식의 반복은 기본적으로 탐욕적(greedy)이라 가능한 한 길게 잡습니다. <.*>는 첫 태그부터 마지막 태그까지 통째로 먹습니다. 물음표를 붙여 <.*?>처럼 게으른(lazy) 반복으로 바꾸면 가장 짧게 끊습니다.
이 도구의 결과가 다른 언어에서도 같나요?
자바스크립트 정규식 엔진 기준입니다. 기본 문법은 대부분 통하지만 세부는 언어마다 다릅니다. 예를 들어 파이썬은 (?P<name>...) 형식으로 이름을 붙이고, 자바는 역슬래시를 문자열에서 한 번 더 이스케이프해야 합니다. 복사해 옮길 때 이 부분을 확인하세요.

관련 툴