Skip to content
Text Utilities

Regex Tester

Test and validate regular expressions by entering a pattern, flags, and sample text.
The tester highlights matches, displays the number of hits, and shows captured groups
to help you understand how your regular expression behaves.

You can freely combine flags such as global, case-insensitive, or multiline, and instantly see the results reflected in the output.
Syntax errors are detected immediately and shown as clear error messages, making it easier to debug and refine complex patterns.

This tool is useful for developers, data analysts, and anyone working with text processing, log analysis, form validation, or search patterns.
All testing is performed locally in your browser, and no input text or patterns
are sent to any server, allowing safe and private experimentation.

Guide: How to use & features

  • Enter the pattern and flags at the top, then paste the target text into the input area below.
  • Matched portions are highlighted, and capture group values are shown for inspection.
  • Type a replacement string to see the output update in real time.
  • All processing runs locally, so your text is never sent anywhere.

Samples: Sample input & output

Find email addresses

Input

Pattern: /[\w.-]+@[\w.-]+/g
Text: Contact us at support@example.com today.

Output

Matches: ["support@example.com"]

FAQ: FAQ

  • Which regex engine (flavor) runs the test?

    Patterns are evaluated with the browser’s JavaScript (ECMAScript) RegExp, so behavior can differ from PHP or Python (PCRE-style). For instance, lookbehind support varies and PCRE-only features such as \K or possessive quantifiers are not available. If your server uses another language, confirm in that environment too.
  • What do the g / i / m / s / u flags mean?

    g is global search (find all matches, not just the first), i ignores case, m is multiline (^ and $ match at the start and end of each line), s makes the dot match newlines (dotall), and u enables Unicode mode. You can combine the flags you need.
  • A quantifier is too "greedy" and matches more than I want — what can I do?

    By default * and + match greedily (as much as possible). Add a ? to make them lazy (as little as possible): *? or +?. For example, <.*> matches a whole line while <.*?> matches just the first tag — handy when extracting only part of HTML or a log line.

Use cases: Common use cases

  • Iterating on search patterns

    Test regexes against sample text to tune matches for replace or extraction logic.

  • Creating shareable examples

    Keep patterns alongside test strings so reviews and questions convey intent clearly.

  • Sanity-checking performance

    Vary input sizes to spot catastrophic backtracking issues before shipping.

Notes: Notes & limitations

  • Work stays in your browser

    Inputs and outputs remain local. Closing the tab or clearing cache will remove any temporary state.

  • Validate critical data

    Results are helper outputs—double-check them before sending to production systems or sharing externally.

  • Large payloads depend on your device

    Very large text or files can feel slow in some browsers. Use a desktop environment for heavy workloads.

Results Not run
Enter a pattern and text, then click “Run test”.

Regular Expression Tester

Regular expressions are powerful for searching, validating, and extracting text, but complex patterns are hard to reason about without feedback. This regex tester lets you enter a pattern and sample text, then inspect matches, groups, and behavior while you iterate.

Common use cases

  • Validate input patterns: Test patterns for emails, IDs, slugs, filenames, and log lines.
  • Extract structured data: Check capture groups before using a regex in scripts or backend code.
  • Debug replacements: Understand why a pattern matches too much, too little, or nothing at all.

Regex review tip

Be careful with overly broad patterns and catastrophic backtracking in production code. Test representative examples, including invalid inputs and edge cases, before relying on a pattern in a form, parser, or data pipeline.

Articles for this tool

Recent Articles

Introduction
2026-08-03

How CREATE TABLE Generation From a Visual Table Design Works | DDL Builder

A look inside DDL Builder, which turns a visually designed table into CREATE TABLE statements and an ER diagram. Covers the MySQL/PostgreSQL/SQLite type-mapping rules and the column-inference algorithm used for JSON samples.

Use Case
2026-07-21

GitHub Actions needs Design Patterns: Speed Up CI, Avoid the Anti-Patterns

A pattern reference for GitHub Actions job dependencies (needs). Covers diamond-shaped fan-out, concurrency cancellation, fail-fast tradeoffs, matrix-plus-needs gotchas, and reusable workflows, with copy-paste YAML examples.

Use Case
2026-07-21

SQL JOIN Types: Complete Reference to INNER, LEFT, RIGHT & FULL

A reference for SQL JOIN types (INNER/LEFT/RIGHT/FULL/CROSS/SELF) with a cheat sheet and row-count walkthroughs. Covers why one-to-many joins duplicate rows, the WHERE-vs-ON NULL trap, and how to write multi-table joins.

Introduction
2026-07-16

Case Converter: camelCase, snake_case & kebab-case — 9 Styles at Once

Convert identifiers between camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case and more — all nine styles side by side. Handles acronym runs like HTTPServer, digits, and bulk multi-line conversion.

Introduction
2026-07-16

LLM API Cost Calculator: Compare Claude, GPT & Gemini Pricing Side by Side

Paste a prompt, set the expected output tokens, and compare per-request API costs across Claude, GPT and Gemini models. Covers input/output pricing structure, auto-updated price tables, and estimate limits.

Use Case
2026-07-14

AGENTS.md, CLAUDE.md, Cursor Rules: One Source of Truth for AI Coding Agents

Every AI coding agent wants its own rules file. Compare AGENTS.md, CLAUDE.md, .cursor/rules, copilot-instructions.md and more — what to write, a copy-paste template, and how to stop them drifting apart.

Ad

Ad