Use the pattern body
Write (?<=a)b without / delimiters. Loading an example first previews the fields it will replace and can be undone once.
- An empty pattern runs only when you explicitly start a test.
Regex & pattern matching
Choose an implemented engine, enter a pattern body and test text, then run it locally.
Enter a pattern body without / delimiters. RE2 always uses Unicode internally.
Ready for input or a manual test.
All matching runs locally in a browser Worker; no pattern or test text is uploaded.
Ready for input or a manual test.
Only PCRE2 and RE2 run here. Language rows are references, not selectable engines.
| Target | Runs here | Lookbehind | Backreference | Boundary |
|---|---|---|---|---|
| PCRE2 | Runs | Yes | Yes | PCRE2 WASM, without PHP wrappers. |
| RE2 | Runs | No | No | RE2 WASM, not Go or Rust runtime. |
| PHP / PCRE2 | PCRE2 core | Yes | Yes | PHP preg_* adds delimiters and API behavior. |
| Java | Reference only | Yes | Yes | No Java runtime is bundled. |
| Go | Reference only | No | No | Go regexp is a separate implementation. |
| Rust | Reference only | No | No | Rust regex is a separate implementation. |
| .NET | Reference only | Yes | Yes | No .NET runtime is bundled. |
A regex flavor tester helps when a pattern moves from PHP to a Go service and a JavaScript highlight proves little about its destination. Keep one sample and inspect actual compilation.
This regex engine comparison executes PCRE2 and RE2. A PCRE2 regex tester is useful for the engine core; a Go regex tester or Rust regex tester needs those languages’ own runtimes for final verification.
See a real compilation difference without changing test data.
The regex flavor tester runs PCRE2 or RE2 instead of relabeling JavaScript. Lookbehind matches with PCRE2 and raises a syntax error with RE2.
Changing an engine, pattern, text or flag disables copying and downloading until the next successful run.
Write (?<=a)b without / delimiters. Loading an example first previews the fields it will replace and can be undone once.
PCRE2 is selected first; RE2 uses a separate WASM build. i and m start off.
Positions are zero-based UTF-16 units with an exclusive end. Screen rows grow by 50, while JSON contains every valid match.
PCRE2 accepts lookbehind and backreferences; RE2 rejects them. Errors are shown without a JavaScript fallback.
Every match shows numbered and named groups. RE2 code-point indices are converted before highlighting text after emoji.
A Worker can be stopped or terminated after two seconds. Input, match count and report limits reject incomplete work.
The regex flavor tester defaults to PCRE2, the engine core behind modern PHP. It does not run the PHP preg_* wrapper.
JavaScript may accept lookbehind or backreferences that RE2 rejects. Test RE2 here, then verify final behavior in Go regexp.
No. RE2 returns a compile error for lookbehind, which is shown without switching engines.
No guarantee. Unicode classes, flags and captures vary; run the pattern in its target language before deployment.
Only PCRE2 and RE2 execute here. Java and .NET are reference rows, and Rust needs its own regex crate.
Still have a question?
Run the regex flavor tester with a difference example, then switch between PCRE2 and RE2 on the same text.
Pattern and test text stay in the browser; no automatic network request is made.