EEvlarSoft

Regex Tester

Test a regular expression against sample text or every file in a folder, read each part of it in plain English, and see whether it behaves the same in your language.

Buy for $1.99
One payment. No subscription.
14-day money-back guarantee.
5.0
Your regex, read back in plain English, with the matches lit up in your own files.
Every piece of the pattern gets a label. Hover for the whole story.
Describe what you want, and pick from 40 ready patterns.
Pick your language. The matches follow its rules, and the others say where they differ.
Preview every replacement across a whole folder before you make it.
Replace in every file at once. Undo puts them all back.
Copy it as code for C#, JavaScript, Python, PowerShell, PHP or Rust.

Your regex, read back in plain English, with the matches lit up in your own files.

190,000+downloads of EvlarSoft apps
Signed by EvlarSoftVerified US publisher
14-day money-backNo questions asked
Updates includedNo upgrade fees

A regex tester that tells you what your pattern means

Most time spent in a regex tester goes on one question: why does this match that? Regex Tester answers it on the pattern itself. Each token gets a small caption underneath, such as "the year", "word edge" or "a domain like shop.co.uk", and hovering any piece opens a full description of what it matches, including groups, lookaheads and quantifiers.

Matches are highlighted in the sample as you type, and the work happens off the main window. If a pattern backtracks catastrophically, the run is cut off after about two and a half seconds and marked as too slow, so a stray (a+)+ never locks up the app.

Flags sit next to the pattern: i ignore case, m lines, s dot matches all, u Unicode and y sticky, with global matching always on.

Test regex for C#, Python, JavaScript, PHP and Rust

A regular expression that works in a browser console can fail in .NET, and the reverse. Under My language choose .NET · C#, JavaScript, Python, PCRE · PHP or Rust. The pattern is rewritten in that language's syntax and the matches are adjusted to its rules. Two examples that catch people out: \w matches accented and non-Latin letters in C#, Python and Rust but not in JavaScript, and $ matches before a trailing newline in C#, Python and PHP.

Every other language is then given a verdict of Same, Differs or Won't compile, plus a short explanation. That makes it a quick check before you move a validation rule from a front end to a back end. Matching itself runs on the JavaScript engine, so constructs JavaScript lacks, like atomic groups or recursion, show as Won't compile.

Build a regex from a description

Not sure where to start? Type into Describe it: email, date, GUID, phone… and a list of 40 ready-made patterns filters as you type. They cover the requests that come up again and again:

  • Email and web addresses, domain names, IPv4, full IPv6 and MAC addresses
  • Dates in ISO, US and European order, 24-hour and AM/PM times, ISO timestamps
  • US and international phone numbers, UK postcodes, US ZIP codes
  • Hex colors, GUIDs, version numbers, dollar amounts, percentages, hashtags and @mentions
  • Windows file paths, image file names, HTML tags, TODO comments and log levels
  • Clean-up jobs: blank lines, trailing spaces and accidentally repeated words

Find and replace with regex across multiple files

Drag a folder onto the app, or click Drop a folder here, or choose one, and the Files view lists every file with its match count, highlighting matches in whichever file you open. Binary files are ignored, so are files over the limit set in Skip files larger than (1, 4, 16 or 64 MB), and, with Skip build and source-control folders on, directories such as .git, node_modules, bin, obj, target and dist.

Enter text in Replace with and Replace preview lists each pending change, grouped by file, before a single byte is written. Replace then applies them all. Every file is backed up first, its original encoding is preserved, and a file that changed after the preview is left untouched. Undo puts back what the last replace changed.

Copy the regex as code

When the pattern is right, Copy as code produces a ready-to-paste snippet for C#, JavaScript, Python, PowerShell, PHP or Rust. Escaping, flags and the replacement string are converted for the target, so a $1 back-reference arrives in the form that language expects.

Features

  • Plain-English caption under every piece of the pattern, with hover detail
  • Live match highlighting with a timeout guard against runaway backtracking
  • Five flavors with per-language syntax and matching rules
  • Same, Differs or Won't compile verdicts across languages
  • 40 searchable starter patterns
  • Folder search with per-file match counts and sensible skips
  • Previewed multi-file replace with backup, encoding preservation and Undo
  • Copy as code for six languages
  • Dark theme by default, plus Light and Match Windows

Who uses it

Back-end developers

Write a validation pattern once, check it under .NET · C# and JavaScript, and copy both snippets.

Log investigation

Point it at a folder of logs, pick the log level or ISO timestamp pattern, and see at a glance which files contain hits.

Bulk edits in a codebase

Rename a setting key across a project with a capture group, review every change in Replace preview, and Undo if it went too far.

What's new in 2.0.2

  • New: your pattern is read back in plain English, piece by piece
  • New: describe what you want and pick from 40 ready patterns
  • New: test against a whole folder of files
  • New: pick C#, JavaScript, Python, PHP or Rust, and the matches follow that language
  • New: preview a replace across every file, then undo it
  • New: copy the pattern as code for six languages
  • New: light and dark themes

Questions

Anything else? Ask us

Which regex flavors can it test?

.NET and C#, JavaScript, Python, PCRE and PHP, and Rust. Matching runs on JavaScript's engine, adjusted for the known differences, such as \w and \d also matching non-Latin letters and digits in C#, Python and Rust. The other four flavors each show Same, Differs or Won't compile, with the reason.

Can it test atomic groups, possessive quantifiers or recursion?

No. Because matching runs on JavaScript's engine, syntax JavaScript does not have, such as atomic groups, possessive quantifiers, recursion and conditionals, shows as Won't compile even when C# or PCRE is the chosen flavor.

Can I undo a replace across a folder of files?

Yes, one step. Each file is copied before it is changed, and Undo puts the last batch back. Running another replace replaces that backup, and a file that changed after you previewed it is skipped rather than overwritten.

Will a replace change my files' encoding?

No. Files are written back in the encoding they were read in: UTF-8 with or without a byte order mark, UTF-16, or ANSI (Windows-1252). If the new text has characters an ANSI file cannot hold, that file is skipped.

Which files are skipped when I test a whole folder?

Binary files, files larger than the limit you pick (1, 4, 16 or 64 MB, 4 MB by default), and, unless you turn it off, folders such as .git, node_modules, bin, obj, target, dist and build.

What happens if my pattern backtracks too much?

The match is stopped after a few seconds and flagged as too slow, and the app stays responsive. Matching runs off the main window, so a bad pattern cannot freeze it.

How do I test a regular expression?

Type the pattern, put sample text under Text, and watch the highlights. If the matches look wrong, hover the pieces of the pattern to read what each one actually matches, then adjust and retest.

Why does my regex work in JavaScript but not in C# or Python?

Engines differ in details such as what \w and \d include, how $ treats a final newline, and which syntax they support. Choose your language under My language and Regex Tester flags the pattern as Same, Differs or Won't compile for each of the others, with the reason.

Which versions of Windows does it run on?

Windows 10 (version 1809 or later) and Windows 11.

Is it a subscription?

No. Regex Tester is a one-time purchase of $1.99, and updates are included.

How do I get it?

Buy it on this page and your license key arrives by email. If the button says Notify me, Regex Tester is not on sale here yet; leave your email and we will tell you when it is.