Test your regular expressions with real-time matching and highlighting.
Powered by Ubikon Technologies | All matching happens in your browser using JavaScript RegExp.
This tester compiles the pattern and flags you enter into a real JavaScript RegExp and runs it against your test string as you type. Every match is highlighted inline in the test text, and a details panel below lists each match's exact text, character index, and any capture groups.
Pattern (Email preset)
/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/gAgainst "Hello, my email is john@example.com"
1 match found: john@example.com (index: 18)
What regex engine does this tool use?
JavaScript's native RegExp — the same engine your browser uses for String.match and String.replace. Your pattern and flags are compiled with `new RegExp(pattern, flags)` and run directly against the test string, so anything valid in a browser regex works here.
What do the g, i, m, s flags do?
g (global) finds all matches instead of stopping at the first one; i (insensitive) ignores case; m (multiline) makes ^ and $ match the start/end of each line instead of the whole string; s (dotAll) makes . match newline characters too. Toggle each with its own button next to the pattern input.
What are the preset buttons for?
Six ready-made patterns for common cases — Email, URL, Phone, IPv4, Hex Color, and Date — each with its typical flags pre-set. Clicking one loads that pattern into the input so you can see a working example or adapt it instead of starting from a blank regex.
Is my test string or pattern sent anywhere?
No. Matching runs with JavaScript's built-in RegExp directly in your browser — the pattern and test string never leave the page.