A regex tester is only useful if it behaves identically to the engine you ship to production. This tool runs your pattern through the browser's native RegExp constructor, so the matches you see here are exactly what your JavaScript code will see — including the quirks around Unicode, sticky matching, and zero-width assertions.
Each match is highlighted in place and broken down into numbered and named capture groups. When the pattern is invalid, the SyntaxError from the engine is surfaced verbatim instead of being silently swallowed, which makes it much faster to track down a runaway quantifier or an unescaped bracket.
It uses the browser's native JavaScript RegExp engine (ECMA-262). Patterns and flag behaviour will match exactly what runs in Node.js, Chrome, Firefox and Safari — but not PCRE, Python, or .NET regex.
Yes. Modern browsers (Chrome 62+, Firefox 78+, Safari 16.4+) support both positive (?<=…) and negative (?
A group can be undefined when it sits inside an alternation that didn't match, or after a quantifier that matched zero times. The tool shows the literal string <undefined> in those slots so you can spot the difference from an empty string.
Use the m flag so ^ and $ match at every line break, or the s (dot-all) flag so . matches newlines. The two are independent — pick the one that fits the pattern you're writing.
Explore the full suite of Code tools and 290+ other free utilities at Chunky Munster.
📖 Reference: ECMA-262 — ECMAScript Regular Expression Syntax