Frequently Asked Questions
Is my pattern or test data sent to a server?
No. Matching runs in your browser using the JavaScript engine itself, so neither your pattern nor your test string is transmitted.
Why does my pattern work here but not in grep?
This tester uses the JavaScript regex dialect: no delimiters, ECMAScript syntax, and whichever of the g, i, m, s flags you tick. That means lookahead, named capture groups, and — on modern engines — lookbehind all work, but \A, \z, \h, possessive quantifiers, and atomic groups do not. grep -E uses POSIX ERE and grep -P uses PCRE, so the same pattern can behave differently in each.
What is catastrophic backtracking?
A pattern with nested quantifiers, such as (a+)+, can require exponential time against a non-matching input and freeze the page. The tester evaluates in your browser, so it can hang that tab rather than a server. Rewrite the pattern with atomic-style rewrites or character classes that cannot overlap.