패턴 본문 입력
(?<=a)b처럼 슬래시 구분자 없이 입력합니다. 예제를 적용하기 전에 덮어쓸 값을 미리 보고 한 번 되돌릴 수 있습니다.
- 빈 패턴은 명시적으로 실행할 때만 평가합니다.
정규식 및 패턴 매칭
구현된 엔진을 고르고 패턴과 문자열을 입력한 뒤 로컬 테스트를 실행하세요.
슬래시 구분자 없이 패턴 본문만 입력하세요. RE2 내부는 항상 Unicode입니다.
입력하거나 수동으로 실행하세요.
패턴과 문자열은 브라우저의 별도 Worker에서 처리하며 업로드하지 않습니다.
입력하거나 수동으로 실행하세요.
PCRE2와 RE2만 실행됩니다. 언어 행은 참고용입니다.
| 대상 | 여기서 실행 | 후방 탐색 | 역참조 | 범위 |
|---|---|---|---|---|
| PCRE2 | 실행 | 가능 | 가능 | PCRE2 WASM; PHP 함수층은 별도입니다. |
| RE2 | 실행 | 불가 | 불가 | RE2 WASM; Go/Rust 실행은 아닙니다. |
| PHP / PCRE2 | PCRE2 핵심만 | 가능 | 가능 | PHP preg_*에는 구분자와 반환 규칙이 있습니다. |
| Java | 참고만 | 가능 | 가능 | Java 런타임은 없습니다. |
| Go | 참고만 | 불가 | 불가 | Go regexp는 별도 구현입니다. |
| Rust | 참고만 | 불가 | 불가 | Rust regex는 별도 구현입니다. |
| .NET | 참고만 | 가능 | 가능 | .NET 런타임은 없습니다. |
PHP 서비스의 패턴을 Go 필터로 옮길 때 JavaScript의 성공 표시만으로는 충분하지 않습니다. 정규식 엔진 비교는 같은 입력으로 실제 컴파일 여부를 봅니다.
정규표현식 테스트에서는 엔진 이름이 중요합니다. PCRE2 정규식과 Go RE2 정규식의 관계를 보여 주지만, Java 정규식 엔진이나 Go 런타임을 실행한 것으로 표시하지 않습니다.
동일한 패턴에서 실제 컴파일 차이가 드러납니다.
정규식 엔진 비교는 JavaScript 결과에 다른 이름을 붙이지 않습니다. 후방 탐색은 PCRE2에서 일치하고 RE2에서는 오류가 납니다.
엔진, 패턴, 문자열이나 옵션이 바뀌면 복사와 다운로드가 즉시 비활성화됩니다.
(?<=a)b처럼 슬래시 구분자 없이 입력합니다. 예제를 적용하기 전에 덮어쓸 값을 미리 보고 한 번 되돌릴 수 있습니다.
기본은 PCRE2이며 RE2는 별도 WASM 구현입니다. i와 m은 처음에 꺼져 있습니다.
인덱스는 0부터 시작하는 UTF-16 단위이며 끝을 포함하지 않습니다. 화면은 50개씩 늘어나지만 JSON에는 성공한 전체 결과가 담깁니다.
PCRE2가 허용하는 후방 탐색과 역참조를 RE2가 거부하면 오류를 그대로 표시합니다.
번호 및 이름 캡처를 구분하고 RE2의 코드 포인트 위치를 UTF-16으로 바꿔 이모지 뒤의 강조 표시를 맞춥니다.
Worker에서 실행하며 2초가 지나면 종료합니다. 입력, 결과 수와 보고서 크기에 제한이 있습니다.
정규식 엔진 비교의 기본값은 PCRE2입니다. PHP의 preg_* 전체가 아니라 기반 엔진을 실행합니다.
JavaScript의 후방 탐색이나 역참조는 RE2에서 실패할 수 있습니다. Go에서는 regexp로 최종 확인하세요.
지원하지 않습니다. RE2를 선택하면 컴파일 오류를 보여 주고 다른 엔진으로 바꾸지 않습니다.
항상 같지 않습니다. Unicode, 플래그와 캡처 규칙이 달라 대상 언어에서 다시 검증해야 합니다.
PCRE2와 RE2만 실제 실행합니다. Java 행과 .NET 행은 참고용입니다.
더 궁금한 점이 있나요?