Test and debug regular expressions
Regular expressions are the Swiss army knife of pattern matching — used in form validation, log parsing, code search, routing rules, and data extraction. They're also notoriously hard to debug because a single character can change matching behavior dramatically. This tester runs your regex in a Web Worker so a catastrophic pattern can't freeze the page, and highlights every match with its capture groups inline.
Nested quantifiers like (a+)+b cause catastrophic backtracking on non-matching strings. The engine explores exponentially many paths. Our Web Worker implementation kills the regex at 1.5 s.
Groups of the form (?<name>pattern) that you can reference by name in the result, e.g., match.groups.name. Much clearer than numbered groups for complex regex.
Yes — lookbehind ((?<=) and (?<!)) is supported in modern browsers. IE and older Safari don't support it.
Without 'g', .match() and .exec() only return the first match. With 'g', they return every match. The tool faithfully mirrors this behavior.
Substitution mode is on the roadmap. For now, use the match output to reason about what your regex captures.