정규식 테스터
패턴을 실시간으로 테스트하고 매칭을 확인합니다
이 도구가 도움이 됐나요?
이 도구는
정규식 패턴을 문자열에 대해 실시간으로 테스트합니다. 자바스크립트 정규식 엔진을 그대로 쓰기 때문에 화면에서 확인한 패턴을 코드에 바로 옮겨 써도 같은 결과가 나오며, 일치한 부분은 형광펜으로 표시되고 캡처 그룹까지 목록으로 보여줍니다. 예를 들어 기본으로 선택된 이메일 프리셋(패턴 [\w.+-]+@[\w-]+\.[\w.]+, 대상 문자열 "[email protected], [email protected]")은 두 이메일 주소를 모두 찾아 2건으로 표시합니다. 일치 개수, 각 매치의 위치(@인덱스), 괄호로 만든 캡처 그룹 값까지 한 번에 보여주므로 패턴을 코드에 넣기 전에 마지막으로 검증하기 좋습니다. 다만 화면의 플래그 토글은 g·i·m·s 네 가지뿐이라 u(유니코드)나 y(sticky) 같은 플래그가 필요한 패턴은 여기서 확인한 결과와 실제 코드의 동작이 달라질 수 있습니다.
사용법
- 자주 쓰는 패턴(이메일, 휴대폰 번호, URL, 날짜 등) 버튼을 눌러 예시로 시작하거나 직접 패턴을 입력합니다.
- g(전역)·i(대소문자 무시)·m(여러 줄)·s(dotAll) 플래그를 버튼으로 켜고 끕니다.
- 테스트할 문자열을 아래 칸에 입력하면 일치하는 부분이 형광펜으로 표시됩니다.
- 일치 목록에서 각 매치의 위치(@인덱스)와 캡처 그룹 값을 확인합니다.
- 패턴이 잘못됐으면 빨간 오류 박스에 자바스크립트 엔진이 알려주는 오류 메시지가 그대로 뜹니다.
- 매칭 결과 옆 배지에서 전체 일치 건수를 확인합니다.
자주 묻는 질문
- 지원하는 정규식 플래그는 무엇인가요?
- g(전역 검색), i(대소문자 구분 안 함), m(여러 줄, ^ $ 가 줄 단위로 동작), s(dotAll, .이 줄바꿈도 매칭) 네 가지를 버튼으로 켜고 끌 수 있습니다. u(유니코드)나 y(sticky) 같은 플래그는 화면에서 직접 켤 수 없습니다.
- g 버튼을 꺼도 일치 결과가 여러 개 나오는 이유는 무엇인가요?
- 이 도구는 모든 일치 위치를 찾기 위해 내부적으로 항상 g 플래그를 켠 상태로 검사합니다. 화면의 g 버튼은 실제 코드에 옮겨 쓸 플래그 조합을 기록해 두는 용도로, 켜고 꺼도 이 화면의 매칭 결과 자체는 달라지지 않습니다.
- 캡처 그룹은 어떻게 확인하나요?
- 패턴에 괄호로 그룹을 만들면 일치 목록의 각 항목 옆에 그룹별 값이 순서대로 나타납니다. 그룹이 매칭되지 않으면 '없음'으로 표시됩니다.
- 아주 긴 텍스트를 넣어도 느려지지 않나요?
- 빈 문자열에 반복 매칭되는 패턴 등으로 무한 루프에 빠지지 않도록 최대 1000개까지만 검사하고 멈춥니다.
- 프리셋 버튼을 누르면 무엇이 바뀌나요?
- 패턴·플래그·테스트 문자열 세 가지가 한꺼번에 예시 값으로 바뀝니다. 예를 들어 이메일 프리셋을 누르면 패턴이 [\w.+-]+@[\w-]+\.[\w.]+로, 테스트 문자열이 "[email protected], [email protected]"로 바뀌어 두 주소가 형광펜으로 표시됩니다.
- 일치하는 부분이 하나도 없으면 어떻게 나오나요?
- 형광펜 표시 없이 입력한 문자열이 그대로 보이고, 매칭 결과 배지는 0건으로 표시됩니다.
- 매치가 아주 많은 텍스트를 넣으면 어떻게 되나요?
- 빈 문자열에 반복 매칭되는 패턴처럼 무한히 이어질 수 있는 경우를 막기 위해 최대 1,000건까지만 찾고 멈추며, 목록에는 그중 처음 30건만 보여줍니다.
- 여기서 확인한 패턴을 파이썬 같은 다른 언어에 그대로 써도 되나요?
- 대체로 비슷하지만 100% 같지는 않습니다. 이 도구는 자바스크립트 정규식 엔진을 그대로 쓰므로, lookbehind 지원 범위나 이스케이프 규칙이 다른 언어에서는 결과가 달라질 수 있습니다.