정규식 테스트기

정규식 패턴과 플래그로 매치를 실시간 하이라이트하고 그룹을 봅니다.

/ /

정규식은 한 글자만 틀려도 결과가 완전히 달라집니다. 코드에 넣어 실행해 보기 전에 패턴이 의도대로 걸리는지 확인하는 편이 빠릅니다.

패턴과 검사할 문자열을 넣으면 매치된 부분이 즉시 표시되고, 각 매치의 시작 위치와 괄호로 묶은 그룹까지 함께 볼 수 있습니다.

어떻게 계산되나요

입력 방법

가운데 / / 사이 칸에는 패턴만 넣습니다(양옆 슬래시는 화면 표시용입니다). 오른쪽 작은 칸이나 아래 체크박스로 플래그를 지정하고, 아래 넓은 칸에 검사할 텍스트를 붙여 넣으면 결과가 바로 갱신됩니다.

플래그

플래그
g첫 매치에서 멈추지 않고 전부 찾습니다
i대소문자를 구분하지 않습니다
m^·$가 줄 단위로 동작합니다
s.이 줄바꿈까지 포함합니다

결과 읽는 법

하이라이트 영역에 매치된 부분이 표시되고, 아래 목록에는 매치 순번, 매치된 문자열, @숫자로 표시된 시작 위치, $1 $2 형태의 캡처 그룹이 나옵니다. 매치되지 않은 선택적 그룹은 (없음)으로 표시됩니다. 패턴 문법이 잘못되면 붉은 오류 메시지로 이유를 알려 줍니다.

알아 둘 점

자바스크립트(ECMAScript) 정규식 엔진으로 동작합니다. PHP(PCRE)나 Python과는 룩비하인드, 이름 있는 그룹 표기 등 일부 문법이 달라 결과가 같지 않을 수 있습니다.

용어 정리

패턴
찾으려는 문자열의 규칙을 기호로 적은 식입니다.
플래그
전역 검색이나 대소문자 무시처럼 매칭 방식을 바꾸는 옵션 문자입니다.
캡처 그룹
괄호 `( )`로 묶은 부분. 매치에서 그 부분만 따로 꺼내 쓸 수 있고 `$1`부터 번호가 붙습니다.
전역(g)
문자열 전체에서 매치를 반복해 찾도록 하는 플래그입니다.
매치 위치(@)
매치가 시작된 글자 번호로, 0부터 셉니다.

자주 묻는 질문

슬래시와 플래그를 통째로 붙여 넣어도 되나요?

패턴 칸에는 슬래시 안쪽 내용만 넣으세요. `/\d+/g`처럼 통째로 넣으면 슬래시 문자 자체를 찾는 패턴이 되어 버립니다. 플래그는 오른쪽 칸이나 체크박스로 지정합니다.

한글도 매칭되나요?

됩니다. `[가-힣]`으로 한글 음절 범위를 지정할 수 있습니다. 다만 `\w`는 영문·숫자·밑줄만 뜻하므로 한글은 포함되지 않는 점에 주의하세요.

매치가 하나만 보입니다

`g` 플래그가 꺼져 있으면 첫 번째 매치만 찾습니다. 아래 체크박스에서 `g`를 켜면 전체가 표시됩니다.

여기서는 되는데 서버 코드에서는 안 됩니다

이 도구는 자바스크립트 정규식 규칙을 따릅니다. PHP의 `preg_match`는 패턴을 구분자로 감싸야 하고, 유니코드 처리나 룩비하인드 지원도 언어마다 달라 결과가 어긋날 수 있습니다.

입력한 문자열이 어디론가 전송되나요?

전송되지 않습니다. 매칭은 브라우저 안에서만 실행되므로, 로그처럼 민감한 텍스트를 넣어도 화면 밖으로 나가지 않습니다.