정규식 테스트

패턴을 쓰면 문맥 속 모든 일치가 강조됩니다. 버튼 없음, 엔진은 브라우저의 JavaScript RegExp입니다.

사용 방법

  1. 슬래시 없이 패턴을 입력하고 필요한 플래그를 켜세요. 입력하는 대로 일치가 갱신되며 누를 버튼은 없습니다.
  2. 시험할 텍스트를 붙여 넣으세요. 결과 패널에서 모든 일치가 강조되고 각 일치의 위치, 텍스트, 캡처 그룹이 나열됩니다.
  3. 일치한 값을 한 번에 복사하거나 텍스트 파일로 내려받으세요. 한 줄에 하나입니다.

예시

패턴과 텍스트

(\w+)@(\w+)\.(\w+)

문의는 minjun@example.com 또는 seoyeon@example.org로 보내 주세요.

일치

일치: 2
#1 [7–22] minjun@example.com
   1: minjun  2: example  3: com
#2 [27–43] seoyeon@example.org
   1: seoyeon  2: example  3: org

첫 줄이 패턴이고(슬래시 불필요) 나머지가 시험 텍스트입니다. 범위는 텍스트에 대한 0부터 시작하는 끝 배타 오프셋이며 JavaScript가 match.index로 보고하는 숫자와 같습니다. 전역 일치가 항상 켜져 있어 g 토글이 없어도 모든 출현을 찾습니다.

규칙, 한계, 알려진 문제

  • 엔진은 브라우저의 JavaScript RegExp입니다. PCRE, Python, Go, RE2 계열은 없고 계열 선택기도 없습니다. \A, \z, (?i) 같은 인라인 플래그는 지원하지 않습니다.
  • 전역 일치는 항상 켜져 있고 플래그는 i, m, s, u뿐입니다. y(sticky), d(indices), v(유니코드 집합)는 제공하지 않습니다.
  • /…/ 슬래시는 장식입니다. JavaScript 리터럴과 달리 패턴 안의 /는 이스케이프하지 않아도 됩니다. 옆에 보이는 플래그 표시가 코드에서 그대로 다시 쓸 문자열입니다.
  • 문법 오류는 지역화된 접두사 뒤에 브라우저 자체 메시지(영어)를 보여 주며 문구는 브라우저마다 다릅니다.
  • 시험 텍스트가 비면 결과가 없습니다. 시험할 줄이 없어 ^$ 같은 패턴을 여기서 검증할 수 없습니다.
  • 최대 2000개 일치를 모으고(그 뒤 개수는 2000+로 표시) 목록은 처음 200개를 그립니다. 두 한도 모두 조용히 자르지 않고 알려 줍니다.
  • 10만 자를 넘는 텍스트도 입력하는 대로 갱신되지만 결과가 나오기까지 지연이 더 깁니다.
  • 치명적 되감기는 탭을 멈출 수 있습니다. JavaScript 정규식은 동기로 실행되어 중단할 수 없고 타임아웃도 없습니다. 신뢰할 수 없는 패턴이나 거대한 텍스트를 붙여 넣지 마세요.
  • \w, \b, \d는 u를 켜도 ASCII만 봅니다. 중국어나 아랍어 문자는 \p{L}과 u 플래그로 맞추세요. u가 없으면 \p{L}은 오류가 아니라 조용히 일반 문자 일치로 떨어집니다.
  • i는 로케일 규칙이 아니라 유니코드 단순 대소문자 접기를 씁니다. 터키어 İ와 i는 서로 맞지 않고 ß는 SS로 접히지 않습니다.
  • 범위는 0부터 시작하는 끝 배타 UTF-16 오프셋이라 이모지는 두 칸입니다. 참여하지 않은 그룹은 —로, 빈 문자열에 일치한 그룹은 빈 값으로 표시합니다.
  • 길이 0인 일치(\b, a*, (?=x))는 얇은 표시로 보이고 범위는 n–n입니다.
  • 복사와 내려받기는 일치한 값만 한 줄에 하나씩 번호, 범위, 그룹 없이 나열합니다. 줄바꿈이 든 일치는 여러 줄에 걸칩니다.
  • 치환 미리보기, 코드 생성기, 고유 링크, 저장된 패턴은 없습니다. 패턴은 입력 상자를 벗어나지 않고 URL에도 들어가지 않습니다.

패턴이 제대로 동작하면 보통 이어서 하는 작업입니다.