My Tool Studio
Developer

Regex Tester

Writing a pattern is the easy part. Knowing what it matches on real input is where things go wrong, and that's what this regex tester is for. Type a pattern, toggle the global, case-insensitive, multiline, and dotAll flags, and paste the text you actually need to search. Matches appear live as you type, each with its position and captured groups, so you can test regular expression behavior before it goes anywhere near production code. It runs on the JavaScript RegExp engine, which makes it a natural regex tester online for Node and frontend work, and close enough for a first pass on patterns headed to other languages.

Always freeNo sign upRuns in your browser
/
/gi
2 matches
hello@toolora.com at index 12
Group 1: hello
Group 2: toolora.com
support@example.org at index 33
Group 1: support
Group 2: example.org

How to use

01

Enter your pattern

Type the expression between the slashes shown in the Pattern field; the tool adds the delimiters for you. Syntax errors surface immediately in a red alert.

02

Toggle the flags

Check global to find every match instead of the first, case-insensitive to ignore casing, multiline so ^ and $ work per line, and dotAll to let the dot cross newlines.

03

Paste realistic test text

Put genuine samples in the Test string box, including lines that shouldn't match. Each result shows the matched text, its index, and every capture group.

Why Regex Tester

Common questions

Which engine runs the patterns here?
The browser's native RegExp engine, which makes it a true javascript regex tester. Most syntax carries over to Python, Go, or Java, but details like lookbehind support and named groups vary, so confirm in your target language before shipping.
Is this a regex match tester or just a syntax validator?
Both. Invalid patterns trigger an error message from the engine, and valid ones are executed against your test string with every match, offset, and capture group listed below.
Why does my pattern grab more text than I expected?
Usually a greedy quantifier. Constructs like .+ expand as far as they can, so tighten the character class, add anchors, or switch to the lazy form .+? and watch the match list shrink.
Can I match across multiple lines of log output?
Yes. Paste the whole block into the test string, then enable multiline if you anchor per line, or dotAll if your pattern needs the dot to walk over newline characters.
What does the index shown next to each match mean?
It's the zero-based character offset where the match starts in your test string. That number maps directly to what String.prototype.slice or substring would use in code.
Does my sample text get sent anywhere?
No. Pattern matching executes locally in your browser, so proprietary logs or user data in the test string never touch a server.
Do zero-length matches freeze this tool?
No. Patterns that can match an empty string, like a lone \d*, are stepped past automatically, so the match list finishes instead of looping forever.

More Developer tools

View all