JavaScript 정규식 테스트
JavaScript 정규식의 매치·캡처 그룹·위치를 브라우저에서 확인합니다.
매치 결과
출력 한도에 도달해 일부 결과만 표시합니다. 최대 200개 매치와 매치·캡처 값 총 50,000 코드 단위까지 제공합니다. 패턴이나 텍스트를 줄여 다시 검사하세요.
매치·캡처·플래그를 구분하기
매치는 패턴 전체가 찾은 부분이고 captures는 괄호로 잡은 하위 값입니다. 선택적 그룹이 참여하지 않으면 null로 표시합니다. namedGroups에는 이름 있는 그룹이 따로 나타납니다.
기본 g는 여러 매치를 찾습니다. g를 빼면 첫 매치만 반환하며, i/m/s/u는 각각 대소문자·줄 경계·점과 줄바꿈·Unicode 처리 기준을 바꿉니다. JavaScript와 다른 엔진의 결과가 같다고 가정하지 마세요.
예시로 결과 위치 확인하기
예시 버튼은 아래 패턴·텍스트·gi 플래그를 채웁니다. 매치는 cat 42와 CAT 7이고 captures는 각각 cat/42, CAT/7입니다. 첫 매치는 index 0, end 6이며 줄바꿈 뒤 두 번째는 index 7, end 12입니다.
index/end는 UTF-16 기준으로 end를 포함하지 않는 범위입니다. 예를 들어 😀에 .와 gu를 적용하면 매치 하나가 [0,2)에 나타납니다. 빈 문자열 매치도 삭제하지 않고 표시하므로 모양이 없는 매치와 매치 없음은 다릅니다.
패턴: ([a-z]+)\s+(\d+)
플래그: gi
텍스트:
cat 42
CAT 7
시간·출력 제한을 해석하기
패턴은 별도 Worker에서 검사하고 시작을 포함한 1초가 지나면 중단합니다. 중단·문법 오류·취소는 매치 없음 결과와 다르며 성공 집계에 포함하지 않습니다. 입력을 바꾸거나 초기화해도 이전 Worker의 결과가 되살아나지 않습니다.
최대 200개 매치 또는 매치·캡처 값 합계 50,000 코드 단위에 도달하면 표시 가능한 앞부분과 한도 안내를 제공합니다. 첫 매치의 캡처가 너무 크면 표시 개수가 0일 수도 있습니다. 이 경우 안내를 확인하고 입력이나 캡처를 줄이세요.
검사 성공은 실제 프로그램의 입력 검증·보안성을 보증하지 않습니다. JSON 문법 검사라면 정규식으로 대신하기보다 JSON 유효성 검사기를 사용하고, 샘플 문자열이 필요하면 무작위 문자열 생성기를 사용하세요.
정규식·Worker 참고
자주 묻는 질문
Python이나 PCRE의 정규식 결과와 같나요?
이 도구는 현재 브라우저의 JavaScript RegExp를 사용합니다. 다른 언어의 문법·플래그·Unicode 규칙과 다를 수 있으므로 실제 사용할 엔진에서도 확인하세요.
패턴 바깥에 /.../gi를 붙여야 하나요?
아니요. 패턴 입력에는 본문만 넣고 gi 같은 옵션은 플래그 칸에 입력하세요. JSON 문자열처럼 백슬래시를 두 번 적을 필요도 없습니다.
결과의 index와 end는 어떤 위치인가요?
index는 0부터 시작하는 UTF-16 시작 위치이고 end는 매치가 끝난 바로 다음 위치입니다. 이모지는 두 코드 단위를 차지할 수 있어 화면에서 센 글자 수와 다를 수 있습니다.
시간 초과는 매치가 없다는 뜻인가요?
아닙니다. 시작 시간을 포함해 1초 안에 작업을 끝내지 못한 것입니다. 복잡한 반복 패턴은 Worker에서 중단하며, 더 작은 텍스트와 단순한 패턴으로 다시 확인하세요.