Skip to main content

Regex Tester

Free online tool to test regular expression patterns and see matching results in real-time.

//

Flags

  • g - Global: Find all matches
  • i - Case insensitive
  • m - Multiline: ^ and $ match line breaks
  • s - Dotall: . matches newlines
  • u - Unicode: Full unicode support

Common Syntax

  • . - Any character
  • \d - Digit (0-9)
  • \w - Word character (a-z, A-Z, 0-9, _)
  • \s - Whitespace
  • * - 0 or more
  • + - 1 or more
  • ? - 0 or 1
  • [abc] - Any of a, b, or c
  • (abc) - Capture group

Key Features

  • Real-time Matching: See results instantly as you type
  • 5 Flags: Support for g, i, m, s, u flags
  • Highlight Display: Visual highlighting of matched portions
  • Group Capture: Detailed capture group information
  • Common Patterns: Pre-built frequently used patterns
  • Position Info: Start/end position display for each match

Flag Descriptions

FlagNameDescription
gGlobalFind all matches (not just first)
iIgnore CaseCase-insensitive matching
mMultiline^ and $ match start/end of each line
sDotall. matches newlines too
uUnicodeFull Unicode support

Common Pattern Examples

Email

\w+@\w+\.\w+

Matches: user@example.com, admin@test.org

URL

https?://[\w\-._~:/?#\[\]@!$&'()*+,;=]+

Matches: http://example.com, https://site.com/page

Phone Number

\+?\d{1,4}?[-.\s]?\(?\d{1,3}?\)?[-.\s]?\d{1,4}[-.\s]?\d{1,4}[-.\s]?\d{1,9}

Matches: 010-1234-5678, +82-10-1234-5678

Hex Color

#[0-9a-fA-F]{6}|#[0-9a-fA-F]{3}

Matches: #FF5733, #f00

Date (YYYY-MM-DD)

\d{4}-\d{2}-\d{2}

Matches: 2024-01-15

IP Address

\b(?:\d{1,3}\.){3}\d{1,3}\b

Matches: 192.168.0.1

Capture Groups

Basic Groups

Pattern: (\d{4})-(\d{2})-(\d{2})
Text: 2024-01-15

Group 1: 2024
Group 2: 01
Group 3: 15

Named Groups

Pattern: (?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})
Text: 2024-01-15

Group year: 2024
Group month: 01
Group day: 15

Practical Examples

Extract HTML Tags

<(\w+)[^>]*>

Text:

<div class="box">Content</div>
<p>Paragraph</p>

Matches: div, p

Variable Name Validation

^[a-zA-Z_$][a-zA-Z0-9_$]*$

Valid: myVar, _temp, $value Invalid: 123abc, my-var

Extract Numbers

-?\d+\.?\d*

Matches: 123, -45, 67.89, -0.5

Word Boundary

\bcat\b

Text: "cat category catch" Matches: cat (first one only)

Advanced Patterns

Lookahead

# Positive lookahead
\d+(?= won)
Text: "100 won, 200 dollars"
Matches: 100

# Negative lookahead
\d+(?! won)
Text: "100 won, 200 dollars"
Matches: 200

Lookbehind

# Positive lookbehind
(?<=\$)\d+
Text: "$100, 200 won"
Matches: 100

# Negative lookbehind
(?<!\$)\d+
Text: "$100, 200 won"
Matches: 200

Non-greedy Matching

# Greedy
<.*>
Text: "<div>test</div>"
Matches: <div>test</div> (entire string)

# Non-greedy
<.*?>
Text: "<div>test</div>"
Matches: <div>, </div> (separately)

Performance Tips

1. Use Specific Patterns

# Slow
.*

# Fast
[a-z]+

2. Use Anchors

# Slow
\d{4}-\d{2}-\d{2}

# Fast
^\d{4}-\d{2}-\d{2}$

3. Non-capturing Groups

# Capturing (slower)
(\d+)

# Non-capturing (faster)
(?:\d+)

Common Mistakes

1. Literal . Character

# Wrong: . matches any character
example.com

# Correct: escape with \.
example\.com

2. Confusing * and +

# *: 0 or more (may not match)
ab*c → ac, abc, abbc

# +: 1 or more (must match)
ab+c → abc, abbc (ac doesn't match)

3. Group Numbers

Pattern: (\d+)-(\d+)
Text: 123-456

Group 0: 123-456 (full match)
Group 1: 123
Group 2: 456

Debugging Tips

  1. Step-by-step Testing: Break complex patterns into smaller parts for testing
  2. Check Flags: Verify desired flags are enabled
  3. Escape: Add \ before special characters
  4. Online Tools: Cross-check with multiple regex testers

🔗 Try These Next

💬 Was this tool helpful?

Feel free to send us your feedback or suggestions anytime!

Privacy

This tool operates entirely on the client side. Your patterns and text are never sent to a server and are processed only in your browser.