Loading tool...
Loading tool...
Test regex patterns online with real-time matching and a simple explanation of each expression.
Type your pattern without the surrounding slashes, paste the text you want to search into Test String, and the matches are highlighted as you type. Match details list each match with its position and any capture groups; a group that did not take part in a match is shown as "no match". You can also load one of the presets, such as Email, IPv4 or Date, as a starting point and adjust it.
The four flag buttons change how the pattern is applied:
g (global) finds every match. With it off, only the first match is shown.i (case-insensitive) treats upper and lower case as the same.m (multiline) makes ^ and $ match at the start and end of each line, not just the whole text.s (dot-all) lets . match line breaks too.The plain-English breakdown below the matches describes each part of the pattern, such as \d, character classes, quantifiers, groups, lookarounds and backreferences. It explains one token at a time, so test real text to see how the whole pattern behaves.
Patterns run on your browser's built-in JavaScript (ECMAScript) RegExp engine, so results match what the same pattern does in JavaScript code with the same flags. Lookaheads, lookbehinds and named groups such as (?<year>\d{4}) work in current browsers.
Regex syntax differs between languages, and some patterns from other flavors are not valid here:
(?P<name>...) is reported as an invalid pattern. JavaScript uses (?<name>...).(?>...) and possessive quantifiers like a++ are not supported in JavaScript.g, i, m and s flags are available. Without the u flag, Unicode property escapes like \p{L} are not recognised and are matched as plain text.If your pattern will run in Python, Java, PHP or another language, test it there as well before relying on it.
Some patterns take exponentially longer as the text grows, a problem known as catastrophic backtracking. A classic example is (a+)+$ tested against a long run of a characters followed by a different character. In browsers that support Web Workers, matching runs separately from the page, and if it takes longer than 1.5 seconds it is stopped with a message instead of freezing the tab. Rewriting nested quantifiers such as (a+)+ as a single a+ usually fixes it.
With the g flag on, the tester lists up to 10,000 matches. If your text has more, only the first 10,000 are shown.
For more background on testing patterns, read our regex testing guide. To compare text before and after a regex-based cleanup, use the Diff Checker, and to create realistic test strings such as names, emails and dates, try the Dummy Data Generator.
Regular expressions are one of the most powerful yet intimidating tools in a developer's toolkit. A well-crafted regex can validate input, extract data, and transform text with remarkable efficiency — but the syntax can be cryptic and error-prone. devmeldex's free regex tester combines real-time pattern matching with a plain-English breakdown of each part of your pattern. It runs your browser's JavaScript regex engine, so results match what the same pattern does in JavaScript code.
Toggle global, case-insensitive, multiline, and dot-all flags to see matches update instantly.
Each token, including groups, lookarounds, backreferences and lazy quantifiers, is described in plain English.
Load ready-made regex for emails, URLs, UK postcodes, US ZIP codes, phone numbers, and more.
Explore more privacy-first browser tools for developers, marketers, and creators. All tools work instantly with no sign-up or server uploads required.