DevToolPal
한국어

정규식 테스터

JavaScript 정규 표현식을 실시간으로 테스트합니다. 매치 하이라이트, 캡처 그룹 확인, 치환 결과 미리보기를 지원합니다.

로컬에서 실행, 업로드 없음

옵션

테스트 문자열

0자 · 0 B

결과

결과가 여기에 표시됩니다

기능 소개

정규식 테스터에서는 정규 표현식을 작성하면서 예시 텍스트에서 무엇과 매치되는지 입력과 동시에 확인할 수 있습니다. 매치는 제자리에서 하이라이트되고, 모든 캡처 그룹이 값과 위치와 함께 나열되며, 치환 템플릿을 넣으면 String.replace의 결과도 보여 줍니다.

사용 방법

  1. 검색할 텍스트를 테스트 문자열에 붙여 넣거나 예시를 클릭합니다.
  2. 옵션 패널의 정규 표현식에 패턴을 입력합니다. 앞뒤 슬래시는 붙이지 마세요.
  3. 필요한 플래그를 켭니다. 모든 매치는 g, 대소문자 무시는 i, 줄마다 ^와 $를 적용하려면 m, .이 줄바꿈과도 매치되게 하려면 s, 완전한 유니코드 지원은 u입니다.
  4. 결과를 확인합니다. 매치 개수, 하이라이트된 텍스트, 각 매치와 그룹을 담은 표가 나옵니다. 복사를 클릭하면 값을 복사할 수 있습니다.
  5. 치환을 시험하려면 치환 문자열에 $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+)+ 같은 중첩 수량자는 피하세요.