Regex Tester & Builder

Build regex patterns without knowing the syntax

Build a Regex Pattern

Options

This regex type is pre-configured. Switch to "Tester" mode to customize it.

✓ Generated Regex

Matches a valid email address

//

Matches

Enter a test string to see matches

Regex Quick Reference

Character Classes:
  • . - Any character except newline
  • \d - Digit (0-9)
  • \w - Word character (a-z, A-Z, 0-9, _)
  • \s - Whitespace
  • [abc] - Any of a, b, or c
  • [^abc] - Not a, b, or c
Quantifiers:
  • * - 0 or more
  • + - 1 or more
  • ? - 0 or 1
  • {n} - Exactly n times
  • {n,} - n or more times
  • {n,m} - Between n and m times

Mastering Regular Expressions

Regular expressions (regex) are patterns used to match, search, and manipulate text. They power input validation, log parsing, search-and-replace operations, and data extraction across virtually every programming language. A well-crafted regex can replace dozens of lines of string processing code, but complex patterns can also be difficult to read and debug. This tester lets you write, test, and refine your regex patterns in real time against sample text, with instant match highlighting and group capture display.

Frequently Asked Questions

What is the difference between greedy and lazy matching?
Greedy quantifiers (*, +, ?) match as much text as possible, while lazy versions (*?, +?, ??) match as little as possible. For example, given "<b>bold</b>", the pattern <.*> greedily matches the entire string, while <.*?> lazily matches just "<b>". Use lazy matching when you want the shortest possible match.
What are lookahead and lookbehind assertions?
Lookahead (?=...) and lookbehind (?<=...) are zero-width assertions that check for a pattern without including it in the match. For example, \d+(?=px) matches digits followed by "px" but does not include "px" in the result. They are useful for complex matching conditions without consuming characters.
What do common regex flags mean?
The g flag enables global matching (all occurrences, not just the first). The i flag makes matching case-insensitive. The m flag makes ^ and $ match line boundaries instead of string boundaries. The s flag makes the dot (.) match newline characters. Combine flags as needed for your use case.
Can regex patterns cause performance issues?
Yes. Patterns with nested quantifiers like (a+)+ can cause catastrophic backtracking, where the regex engine explores exponentially many paths. Avoid nested repetition, use atomic groups or possessive quantifiers when available, and test complex patterns against large inputs before deploying them in production.