정규식 테스트
패턴을 쓰면 문맥 속 모든 일치가 강조됩니다. 버튼 없음, 엔진은 브라우저의 JavaScript RegExp입니다.
일치 결과
사용 방법
- 슬래시 없이 패턴을 입력하고 필요한 플래그를 켜세요. 입력하는 대로 일치가 갱신되며 누를 버튼은 없습니다.
- 시험할 텍스트를 붙여 넣으세요. 결과 패널에서 모든 일치가 강조되고 각 일치의 위치, 텍스트, 캡처 그룹이 나열됩니다.
- 일치한 값을 한 번에 복사하거나 텍스트 파일로 내려받으세요. 한 줄에 하나입니다.
예시
패턴과 텍스트
(\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에도 들어가지 않습니다.
관련 도구
패턴이 제대로 동작하면 보통 이어서 하는 작업입니다.