기능 소개
정규식 테스터에서는 정규 표현식을 작성하면서 예시 텍스트에서 무엇과 매치되는지 입력과 동시에 확인할 수 있습니다. 매치는 제자리에서 하이라이트되고, 모든 캡처 그룹이 값과 위치와 함께 나열되며, 치환 템플릿을 넣으면 String.replace의 결과도 보여 줍니다.
사용 방법
- 검색할 텍스트를 테스트 문자열에 붙여 넣거나 예시를 클릭합니다.
- 옵션 패널의 정규 표현식에 패턴을 입력합니다. 앞뒤 슬래시는 붙이지 마세요.
- 필요한 플래그를 켭니다. 모든 매치는 g, 대소문자 무시는 i, 줄마다
^와$를 적용하려면 m,.이 줄바꿈과도 매치되게 하려면 s, 완전한 유니코드 지원은 u입니다. - 결과를 확인합니다. 매치 개수, 하이라이트된 텍스트, 각 매치와 그룹을 담은 표가 나옵니다. 복사를 클릭하면 값을 복사할 수 있습니다.
- 치환을 시험하려면 치환 문자열에
$2, $1처럼 입력합니다.
예시
기본 패턴 ([\w.+-]+)@([\w-]+(?:\.[\w-]+)+)는 이메일 주소를 찾아 사용자 이름과 도메인을 따로 캡처합니다. 치환 문자열을 $1 at $2로 하면 텍스트 hello@example.com이 hello at example.com이 됩니다.
빠른 참조
\d숫자,\w단어 문자,\s공백 문자,.임의의 문자*0개 이상,+1개 이상,?있어도 없어도 됨,{2,5}2개에서 5개[abc]중 하나,[^abc]이외의 문자,a|b둘 중 하나(...)캡처 그룹,(?<name>...)이름 있는 그룹,(?:...)캡처하지 않는 그룹(?=...)전방 탐색,(?<=...)후방 탐색,\b단어 경계
자주 묻는 질문
› 어떤 정규식 문법(flavor)을 사용하나요?
브라우저에 내장된 JavaScript(ECMAScript) 엔진입니다. Node.js, Deno, 모든 브라우저가 쓰는 것과 같습니다. 대부분의 문법은 PCRE, Python, Java와 같지만 소유 수량자나 재귀 같은 일부 기능은 지원하지 않습니다.
› 패턴이 매치를 하나만 찾는 이유는 무엇인가요?
전역 (g) 플래그를 켜세요. 이 플래그가 없으면 JavaScript는 첫 번째 매치에서 멈춥니다.
› 치환 문자열에서 그룹은 어떻게 참조하나요?
번호 그룹은 $1, $2…, 이름 있는 그룹은 $<name>, 전체 매치는 $&, 달러 기호 자체는 $$를 씁니다.
› ^와 $가 줄마다 매치되지 않는 이유는 무엇인가요?
기본적으로 두 기호는 전체 텍스트의 시작과 끝에서만 매치됩니다. 여러 줄 (m)을 켜면 줄바꿈 위치에서도 매치됩니다.
› 입력한 텍스트가 어딘가로 전송되나요?
아니요. 매칭은 브라우저에서 실행됩니다. 아주 느린 패턴(치명적 백트래킹)은 탭을 멈추게 할 수 있으니, 긴 입력에 (a+)+ 같은 중첩 수량자는 피하세요.