See what your regex actually matches
Type a pattern and a test string; matches are highlighted live and every capture group is listed below. Invalid patterns show the parser's actual error message, so you know whether it's a stray bracket or an unsupported feature.
Frequently asked questions
Which regex flavor is this?
JavaScript (ECMAScript) — what runs in Node.js and browsers. Most patterns are portable, but lookbehind, named groups, and unicode classes vary across languages.
What do the flags mean?
g finds all matches (always on here), i ignores case, m makes ^ and $ match at line breaks, s lets . match newlines, u enables full unicode.
Why does my pattern match but the groups show —?
A dash means that capture group didn't participate in the match — common with alternation like (a)|(b), where only one side captures.