Regex Tester - Test and explain regular expressions locally | POLPROG Skip to content

Regex Tester

Test and explain regular expressions locally

Test, explain and debug regular expressions in the browser, with nothing sent anywhere.

Web tool Web
Official product page Publisher: POLPROG
Official product page
8
Flags supported
14
Ready-made patterns
200 000
Maximum test string
0
Data sent to a server
01Regex Tester

About

One flavour, stated plainly. Matching uses the ECMAScript engine built into your own browser, and the page says so next to the input, in the reference below it and in the FAQ. PCRE, PHP, Python, Java and .NET are genuinely different languages with different syntax and different behaviour, so a pattern verified here is verified for JavaScript and for nothing else.

The flags, and which ones your browser actually has

FlagsHow they are offered
g i m s u yAlwaysGlobal, case insensitive, multiline, dot matches newline, Unicode and sticky. Every browser that runs this page has them.
d vProbedMatch indices and Unicode sets are newer. They are tested at runtime and shown as unsupported when your browser lacks them, rather than failing when you switch them on.
u with vNeverThey are two different Unicode modes and ECMAScript forbids combining them, so choosing one clears the other.

A runaway pattern cannot lock the page

Some patterns are pathological rather than wrong. (a+)+$ against a long run of a characters makes the engine try an astronomical number of paths, and on the main thread that is a frozen tab. Matching therefore runs in a worker with a hard time limit of about one second. When the limit passes the thread is terminated and a fresh one created, and the result says the execution was stopped, which is deliberately not the same sentence as calling the pattern invalid. The next pattern you type runs normally.

What a result actually tells you

  • Every match with its start, end and length, and its capture groups numbered from left to right, named where you named them.
  • A group that never took part in the match is reported differently from one that matched an empty string. JavaScript gives the first as undefined and the second as "", and the distinction changes what your code has to handle.
  • The pattern read back token by token: anchors, classes, quantifiers, groups, lookaround and backreferences, each labelled. A construct the reader does not model is shown as it is written rather than described incorrectly.

Fourteen starting points, and what they are not

Presets for email, HTTP and HTTPS URLs, IPv4, UUID, semantic version, ISO-style date, hex colour, URL slug, HTML tag, words, digits, whitespace and Polish postal codes and phone numbers, each with a sample text. Every one is described as a practical shape to start from and never as a complete validator: the email preset is not RFC 5322, the IPv4 one does not check that an address is routable, the date one matches a shape rather than a real calendar date, and the HTML preset says outright that regular expressions cannot parse HTML.

There is no API endpoint behind this page. The pattern, the flags, the test string, the matches and the captured groups stay in this browser tab. They are not sent to POLPROG, not sent to analytics or error reporting, and not written to storage.

02Use case

What it solves

The problem
  • One careless pattern locks up the whole browser tab
  • Test data gets pasted into a stranger’s website
  • The tool never says which flavour of regex it speaks
The outcome
  • A runaway pattern is stopped, and named as stopped
  • Every match with its position, its groups and their names
  • The pattern and the text never leave your own machine
Who it is for
  • Developers writing validation and parsing rules
  • Engineers debugging a pattern that matches too much
  • Anyone learning what a regular expression actually does
03Key Features

Key Features

The most important capabilities, explained in practical terms.

Your browser’s own engine, named

Patterns run on the JavaScript engine in your browser, and the page says so next to the input, in the reference and in the FAQ. Nothing is claimed about PCRE, Python, Java or .NET.

Every flag, including the new ones

g, i, m, s, u and y are always available; d and v are probed at runtime and shown as unsupported when your browser lacks them. u and v cannot be combined in ECMAScript, and choosing one clears the other.

A pattern cannot freeze the page

Matching runs in a worker thread with a hard timeout. A pattern that overruns has its thread terminated and a fresh one created, and the result says the execution was stopped rather than calling the pattern invalid.

Matches, groups and positions

Every match is listed with its start, its end and its length, together with its capture groups and their names. A group that did not participate is reported differently from a group that matched an empty string.

The pattern, explained piece by piece

A local reader breaks the pattern into its parts and labels each one: anchors, classes, quantifiers, groups, lookaround and backreferences. A construct it cannot read is named as such rather than guessed at.

Fourteen starting points

Presets for email, URL, IP address, date, time, hex colour, slug and more. Each one is described as a practical shape to start from, never as a complete validator for the thing it matches.

Nothing leaves the browser

The tool has no API endpoint. The pattern, the test string, the matches and the captured groups stay in browser memory and are never uploaded, logged or stored.

04Download

Product access

A clear path from the official source to your first successful workflow.

Choose the right platform

Use one of the official links available for your device or browser.

Install or open

Follow the store instructions or open the web application. No third-party installers.

Configure and begin

Review the options, choose your preferences and start with the core workflow.

Official access options
05Technology

Technology behind the product

A transparent look at the core technologies used to build and maintain this product.

JavaScript
06Security

Privacy & Security

Your data stays on your device. Always.

No account, no sign-up
No API endpoint and no network traffic
Patterns and test text never leave the browser
Nothing is logged, stored or tracked