Regex Tester
DeveloperTest a regular expression against sample text with live highlighting, every flag, a match list with positions, and named or numbered capture groups broken out.
Runs entirely in your browser. Nothing is uploaded.
Matches
3 matchesContact ada@example.com or grace@navy.mil for access. Billing: accounts@example.org
| # | At | Match | Groups |
|---|---|---|---|
| 1 | 8 | ada@example.com | $1: ada · $2: example.com |
| 2 | 27 | grace@navy.mil | $1: grace · $2: navy.mil |
| 3 | 63 | accounts@example.org | $1: accounts · $2: example.org |
Live matches & capture groups
A regular expression is easier to debug by watching it than by reading it. This tester highlights every match in your sample text as you type the pattern, lists them with their positions, and breaks out the capture groups — so you can see immediately whether a quantifier is greedier than you intended or a group is catching more than it should. It runs on JavaScript's own engine, so what you see is exactly what your code will do.
How to test a regular expression
- 1
Write your pattern
Type the expression between the delimiters. It compiles as you type.
- 2
Set the flags
Toggle global, ignore-case, multiline, dotall, and unicode, and watch the match set change.
- 3
Check the matches
Matches are highlighted in the test text and listed with their offsets and capture groups.
Good to know
- This is JavaScript's RegExp engine, so patterns behave exactly as they will in JS or TypeScript. PCRE and .NET differ in places, particularly lookbehind and named-group syntax.
- Named groups written as (?<name>…) are listed by name; numbered groups appear as $1, $2 and so on.
- An invalid pattern shows the engine's real error message rather than failing silently.
- Nothing is transmitted, so it is safe to test patterns against real log lines or production data.
What people use it for
- Debugging a validation pattern that rejects input it should accept
- Building a search-and-replace pattern before running it over real files
- Working out which capture group holds the part you actually want
Frequently asked questions
Which regex flavour is this?+
JavaScript's own RegExp engine, running in your browser. Patterns behave exactly as they will in JS or TypeScript. Other flavours such as PCRE differ in places — lookbehind and named group syntax in particular.
What do the flags do?+
g finds every match rather than the first; i ignores case; m makes ^ and $ match at each line; s lets . match newlines; u enables full unicode handling.
Does it show capture groups?+
Yes. Numbered groups appear as $1, $2 and so on, and named groups written as (?<name>…) are listed by name.
Is my test data sent anywhere?+
No. The pattern is compiled and run entirely in your browser, so you can safely test against real log lines or production data.
Related tools
JSON Formatter
Beautify, minify & validate JSON
Base64 Encode / Decode
Text ⇄ Base64
URL Encode / Decode
Escape & unescape URL components
JWT Decoder
Inspect JSON Web Tokens
Or browse all 50 free tools.
