free_tool
Regex Tester & Explainer
Write a pattern, paste your text, and watch the matches light up as you type. Every capture group is broken out, and the pattern is read back to you in plain English so you can be sure it does what you meant before it guards an input. It runs in your browser.
Matches
2 found
Contact ada@example.com or sales@acme.co.uk, not bad@.com.
Matches & capture groups
- ada@example.comindex 8-23
- sales@acme.co.ukindex 27-43
In plain English
[a-z0-9._%+-]any character in the set [a-z0-9._%+-], one or more times@the literal character "@"[a-z0-9.-]any character in the set [a-z0-9.-], one or more times\.a literal "."[a-z]any character in the set [a-z], repeated {2,} times
A best-effort breakdown of common constructs, read left to right.
A regex is fine until it lets a malformed payload through, or rejects a valid one, somewhere you only find out in production. I build input validation and parsing that's predictable, tested against real edge cases and safe under load.
Make your validation reliable: book a callJavaScript regex flavor (the same engine your Node and browser code uses). Flags g, i, m, s, u and y are supported. Matching is capped at 1000 hits and the test string is length-limited to keep a runaway pattern from hanging the page.
read_before_you_ship
The pattern you meant, not the one you typed
A regex that looks right and a regex that is right are two different things. An unescaped dot, a greedy quantifier, a group you thought was capturing but was not: any of them can quietly let bad input through or reject good input. Seeing real matches against your own text is the fastest way to catch it.
The plain-English breakdown exists for the same reason. When you can read ^\d{3}-\d{4}$ as "start, three digits, a hyphen, four digits, end", the off-by-one in the count stops hiding. The capture-group list shows exactly what you would pull out in code.
faq
Questions & answers
- How do I test a regular expression online?
- Paste your pattern and the flags you want (gimsuy), then type a test string, and the tool runs the regex against it live and highlights every match and capture group as you type. There is nothing to install and nothing to run locally, so it is a quick way to confirm a pattern matches what you expect before you paste it into code.
- What regex flavor does this tester use?
- It uses the browser's own RegExp engine, so the flavor is JavaScript, the ECMAScript dialect. That matters because some constructs differ from PCRE, Python or Go: there are no possessive quantifiers, no atomic groups, and lookbehind support follows the JavaScript rules, so a pattern that works here is not guaranteed to behave the same in another language.
- Does it explain what my regex actually does?
- Yes. Alongside the matches it gives a best-effort plain-English breakdown of the pattern tokens: anchors, character classes, quantifiers, groups, alternation and lookarounds. It is a reading aid for an unfamiliar pattern, not a formal parser, so treat the explanation as a guide and confirm the behavior against your test string.
- Why does my regex find no matches?
- The usual causes are a missing or wrong flag, the g flag changing how repeated matches are found, or a JavaScript-specific difference from the flavor you wrote the pattern for. Check that your flags match your intent, and remember unescaped special characters like a dot or parentheses mean something in regex, so escape them if you meant the literal character.
- Is the pattern and test string I type sent anywhere?
- No. Everything runs in your browser using the native RegExp engine, so the pattern and the text you test are never sent to a server or stored. Match iterations are also capped so a runaway pattern cannot hang the page.
Input validation that bites you in production?
Regexes that pass in dev and choke on real payloads, parsing that breaks on the one edge case that matters. I'll make your validation and parsing predictable, tested and safe. Book a call, or leave your email.
Prefer proof first? See how this plays out in real case studies →