The Volade Ecosystem — Web Tool

Regex Tester

Test a regular expression online instantly: text is highlighted as you type, the matches table shows index, length and capture groups, the Replace tab applies the pattern with $1 and $&, the Explain tab breaks the pattern down element by element, and the Performance tab measures ReDoS risk. Free, no sign-up and 100% local: your text never leaves your browser.

6 test modes0 byte sent to the server10 ready-to-use examples
The tool

Your online regex tester

Type a pattern, tick the flags, paste some text: matches appear highlighted and in a table, with no « Convert » button.

Regex Tester

Online Development, Code & Data
Sign in
Shortcuts: Ctrl+Enter recalculate
Ready.

                  
Matches are highlighted in the original text as you type.
#MatchIndexLengthGroups
Analyze, replace and explain as you type · Ctrl+Enter recalculates the active tab · no network request · 100% local, nothing leaves your device.
0,0 0Comment All tools
Free or Premium?

The regex tester is free and unlimited: no account, nothing to install, no network request. Premium unlocks the entire Volade ecosystem.

FreeHighlighting, matches table and capture groups
FreePattern replacement with $1, $& and named groups
FreePattern explanation, example library and cheat sheet
PremiumEncrypted cloud sync of patterns and test snippets
PremiumAPI access and scripts shared across the ecosystem tools
Unlock Premium
Features

Test, replace and explain a regex, with no limits

One engine covers analysis, replacement and pattern understanding — without ever leaving your device.

Highlighting and matches table

Every match is highlighted in the original text and listed with its index, its length and the value of each capture group, numbered or named. Edge cases are handled: patterns with no match, multi-megabyte inputs, zero-length matches and the 2,000-result cap announced below the field.

Test a pattern

Replacement with groups

The Replace tab applies the pattern to your source text and shows the output live: $1 and $2 reinsert the capture groups, $& the full match, $<nom> a named group. The number of replacements is counted separately, and the tool warns you when the g flag is missing and only the first occurrence would be replaced.

Replace text

Explanation, examples and performance

The Explain tab breaks the pattern down into classes, escapes, groups, lookarounds and quantifiers, with a plain-English meaning and an example for each. The Examples tab loads ten proven patterns — email, URL, date, IPv4, strong password — and the Performance tab measures real execution time to spot a catastrophic backtracking risk.

Explore the modes
How it works

Write, check and fix a pattern in three steps

No installation, no sign-up: the tool is always ready, on mobile as well as on desktop.

Write the pattern

Type the regular expression in the shared field and tick the flags you need: the result recalculates as you type. Syntax errors are translated into plain English below the field — unclosed parenthesis, open class, orphan quantifier — instead of a raw browser message.

Paste your text

The text is highlighted and the matches table fills in at the same time. It is the step everyone skips — and the one that exposes most broken patterns: a forgotten anchor, case left uncovered, a dot that does not swallow line breaks.

Explain, then measure

Switch to « Explain » to read the pattern line by line, fix it, then check in « Performance » that execution time stays far below the 250 ms that signal a ReDoS risk. Local history keeps your latest patterns so you can reload them in one click.

Quick reference

Regular expressions at a glance

What most developers check before reading a pattern — with the full cheat sheet in the « Cheat sheet » tab.

ElementMeaningExample
.any character except a newlinea.c → abc
\da decimal digit\d{3} → 123
\wa letter, a digit or an underscore\w+ → volade_1
\sa space, a tab, a line break\s+ → «  »
^ $start and end of string^abc$ → abc
*zero or more, greedy versionab*c → ac, abbc
+one or moreab+c → abc
?zero or one occurrencecolou?r → color, colour
{n,m}from n to m occurrences\d{2,4} → 1234
(...)capturing group(ha)+ → haha

What does « testing a regular expression » mean?

Testing a regular expression (« regex test online », « test regex javascript ») means running a pattern against real text and observing exactly what the engine returns: the matching strings, their position, and the value of the capture groups. A pattern that « looks right » says nothing until it has run on your data — that is the only gap that counts between the tutorial regex and the production regex.

The test answers three distinct questions. Does it match : the matches table tells you on the first line. Where and how much : the index and length show whether the anchor was in the right place. What does it capture : the numbered or named groups reveal whether the part you meant to extract really is that part.

The metacharacters that make all the difference

The dot . matches any character except a newline — hence the flag s when your text is multiline. The quantifiers *, + and ? are greedy : they stop at the first sufficient number of repetitions. The suffix ? (*?, +?, {2,5}?) reverses this behavior and gives the lazy version, which you should almost always prefer when a .* eats the end of the line.

Brackets define a class: [abc] accepts one of the listed characters, [^abc] anything but them, [a-z0-9] a range. Beware of the negation at the start of a class — [^...] only for the first position, otherwise ^ becomes literal again. The pipe | separates alternatives and behaves like low precedence: ^cat|dog$ means « the whole text is cat » or « the whole text is dog », not « cat or dog at the start or the end » — you need to group instead: ^(?:cat|dog)$.

Groups, lookahead and lookbehind

Parentheses capture. Group 1 is accessible with $1 on the replacement side and \1 on the pattern side, named groups with $<nom> and \k<nom> — far more readable once you have three groups. (?:...) groups without creating a number, which you should prefer as soon as you capture only for the structure.

Lookarounds (lookaround) check without consuming: (?=...) requires what follows to match, (?!...) forbids it, (?<=...) and (?<!...) do the same for what precedes. This is how you require a special character in a password without including it in the capture: ^(?=.*\d)(?=.*[A-Z]).{12,}$.

ReDoS: when a regex becomes a time bomb

The ReDoS (Regular Expression Denial of Service) comes from backtracking : faced with an almost-matching input, a pattern like (a+)+$ explores every way of splitting the « a » characters before failing, and the number of explosions grows exponentially. Two habits: test the pattern on a realistic volume — the Performance tab does it for you — and never run an unauditable regex on external input with no size limit. On a server, a hanging regex freezes an entire worker until the timeout expires.

JavaScript, PCRE, Python: the same basics, a few differences

The tester uses the browser's native engine, i.e. ECMAScript. The core syntaxes — classes, quantifiers, groups, lookahead, flags g i m s u y — are shared with PCRE (PHP, Perl), with Python via re, with Java and Go. The differences mostly concern lookbehind (long missing from JavaScript, now supported), Unicode properties, and inline flags like (?i), which are PCRE-specific. Translating a pattern from one language to another is therefore a matter of detail — not invention.

Recommended for

Front-end and back-end developers (form validation, log parsing, data migration), ops and DevOps (configuration filters, WAF rules), QA testers and analysts (column extraction, format checking), writers and data analysts (file cleaning), students (understanding metacharacters), and anyone who needs a regular expression tester fast, complete and private — complemented by the JSON formatter, theURL encoder decoder, theBase64 encoder decoder and the JWT encoder decoder.

FAQ

Frequently asked questions about the regex tester

Everything you want to know before testing, replacing or explaining a pattern.

How do I test a regular expression online?

Type the pattern into the « Regular expression » field, tick the g, i, m, s, u or y flag, then paste your text: matches are highlighted in the original text and listed in a table with their index, their length and the value of each capture group. Everything recalculates as you type, with no button.

What do the g, i, m, s, u and y flags mean?

g looks for every match instead of only the first, i ignores case, m makes ^ and $ valid at the start of and at every line, s makes the dot match a newline, u turns on Unicode syntax such as \p{L}, and y forces the exact start at the cursor position. These are the JavaScript engine flags, taken as-is by PCRE and most modern languages.

How do I replace text with a regex?

Open the « Replace » tab, enter the pattern and the replacement string, then read the output. $1 and $2 reinsert the capture groups, $& the full match, and $ followed by the name for a named group. Without the g flag only the first occurrence is replaced: the tool reminds you below the field.

How do I explain a regular expression line by line?

The « Explain » tab breaks the pattern down into elements — classes, escapes, groups, lookarounds, quantifiers — and gives each one its meaning in plain English along with a concrete example of matching text. It is the fastest way to understand a regex inherited from a project, or to check that the one you have just written really does what you think.

What is a regular expression and what are its metacharacters?

A regular expression is a pattern describing a set of strings, interpreted by a pattern-matching engine. The metacharacters . * + ? ^ $ | ( ) [ ] { } have a meaning of their own: the dot matches any character, * and + repeat, ^ and $ anchor, | separates alternatives and parentheses create capturing groups. All other characters are literal, and a backslash makes them literal in turn when they are reserved.

What is ReDoS and how do I avoid it?

ReDoS (Regular Expression Denial of Service) happens when a badly built pattern — usually a nested alternation such as (a+)+ — multiplies backtracking attempts exponentially against an almost-matching input. The « Performance » tab measures execution time on a generated volume and flags a risk as soon as the pattern exceeds 250 ms. On your servers, enforce an input size limit and prefer linear engines.

Why does my regex return no matches?

The most common causes: anchors ^ and $ used without the m flag on multiline text, a character class left unclosed, case left uncovered because the i flag is missing, a dot that does not eat line breaks without the s flag, or a pattern that literally describes something other than what you are looking for. The « Explain » tab makes these gaps visible in a second.

Does the tool send my text to a server?

No: analysis, highlighting, replacement and explanation all run entirely in your browser, with no network request and no account, even offline. That is what makes it safe to paste an application log, a config file or a data extract containing credentials. The pattern, flags and text stay in your device's local storage and can be wiped in one click.

100% local regex tester: your text never leaves your computer

Unlike typical online regex testers, nothing is transmitted: analysis, highlighting, replacement, explanation and performance measurement all run entirely in your browser, with no third-party library and no network request. That is what lets you paste a real application log, a configuration file or a data extract containing credentials — even offline or on a public network. The pattern, flags, text and history stay in your device's local storage.

The license Volade Premium adds optional, encrypted cloud sync kept separate from the tool — everything else stays free and unlimited, with no sign-up.

One premium license, all your web tools

Regex tester, JSON formatter, URL encoder decoder, Base64, JWT decoder, generators and dozens of free tools — plus the entire Volade ecosystem under a single license.

One licence, the whole premium ecosystem Browser · CMS · Desktop · Mobile · Scripts · API · Tools · Database
One licence, the whole ecosystem Go premium Log in