정규식 테스터
입력하는 즉시 매칭 결과와 캡처 그룹 확인
데이터는 서버로 전송되지 않습니다 — 모든 처리는 브라우저 안에서만 서버 전송 0건
//g
매칭 결과 2건
문의는 help@toolstacks.dev 또는 sales@example.co.kr 로 보내주세요.
| # | 일치 문자열 | 위치 | 캡처 그룹 |
|---|---|---|---|
| 1 | help@toolstacks.dev | 4 | — |
| 2 | sales@example.co.kr | 27 | — |
정규식 테스터 사용법
정규식과 테스트 문자열을 넣으면 일치한 부분이 즉시 강조 표시되고, 아래 표에 각 일치의 위치와 캡처 그룹이 정리됩니다. 플래그는 체크박스로 켜고 끌 수 있으며, 위쪽 예시 버튼을 누르면 자주 쓰는 패턴과 샘플 문장이 함께 채워집니다.
기본 기호
.— 아무 문자 하나 (줄바꿈 제외)\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>...) 형식으로 이름을 붙이고, 자바는 역슬래시를 문자열에서 한 번 더 이스케이프해야 합니다. 복사해 옮길 때 이 부분을 확인하세요.