All tools

Regex Tester

Developer

Build and debug regular expressions with live match highlighting, capture groups, and flag toggles.

Pattern

Flags

Test string

3

Matches

g

Active flags

Highlighted matches

Project milestones: kickoff on 2024-01-15, beta on 2024-06-30, and public launch on 2025-02-01.

Match details

  1. 2024-01-15index 31

    group 1: 2024

    group 2: 01

    group 3: 15

  2. 2024-06-30index 51

    group 1: 2024

    group 2: 06

    group 3: 30

  3. 2025-02-01index 84

    group 1: 2025

    group 2: 02

    group 3: 01

Uses your browser's JavaScript regular expression engine. Nothing is sent to a server.

About the Handiwork Regex Tester

The Regex Tester lets you build and debug regular expressions with instant feedback. Type a pattern, toggle flags, and paste your text to see matches highlighted in real time along with every capture group — all running locally in your browser using the same JavaScript regex engine your code uses.

How to use the Handiwork Regex Tester

  1. Enter your regular expression pattern (no surrounding slashes needed).
  2. Toggle flags like global, ignore case, or multiline.
  3. Paste the text to test against and review highlighted matches and capture groups.

Understanding regex flags

Flags change how a pattern is applied. The global (g) flag finds every match instead of stopping at the first, ignore case (i) makes matching case-insensitive, and multiline (m) lets ^ and $ match the start and end of each line. The dotall (s) flag lets the dot match newlines, while unicode (u) and sticky (y) handle code points and position-anchored matching.

Capture groups and named groups

Parentheses create capture groups that extract parts of a match — useful for pulling fields out of structured text. Numbered groups are returned in order, and named groups written as (?<name>...) are returned by name, making complex patterns easier to read and reuse.

Frequently asked questions

Which regex syntax does this tester use?

It uses the JavaScript (ECMAScript) regular expression engine built into your browser, so behavior matches what you get in JavaScript and TypeScript code.

Do I need to wrap my pattern in slashes?

No. Enter just the pattern itself and choose flags using the toggles. Slashes are only the literal notation used in JavaScript source code.

Is my pattern or test text sent to a server?

No. Everything runs locally in your browser, so your patterns and sample data stay private.

All developer tools