Skip to content
uencoder
TUTORIAL

How to Use Regular Expressions

Learn regex syntax and use it to match, validate, and extract patterns from text.

Problem

You need to find or validate text patterns that simple string methods cannot handle.

Prerequisites

  • Basic understanding of text patterns
  • Familiarity with special characters

Steps

  1. 1. Learn the core syntax

    Regex uses literals to match exact characters and metacharacters for patterns. The dot (.) matches any character, * means zero or more, + means one or more, ? means optional, and [] defines a character class. Anchors ^ and $ match the start and end of the string.

    Input
    pattern: ^\d{3}-\d{4}$
    Output
    matches: 123-4567
  2. 2. Build and test the pattern

    Construct the regex for your use case. Test it against matching and non-matching strings. Use a regex tester with explanation to understand how the engine matches. Pay attention to greediness (* and + are greedy by default; add ? for lazy matching).

    Input
    pattern: <.+?>
    Output
    lazy match: <b> (not <b>text</b>)
  3. 3. Use capture groups and flags

    Parentheses create capture groups for extraction. Use (?:...) for non-capturing groups. Flags modify behavior: i for case-insensitive, g for global (all matches), m for multiline. Backreferences (\1) refer to previously captured groups.

    Input
    (\w+)@\w+
    Output
    captures the name part of an email

Expected result

A working regex pattern that correctly matches, validates, or extracts the desired text.

Common errors

Pattern matches too much (greedy)
Add ? after * or + to make the quantifier lazy, or use more specific character classes.
Special characters not escaped
Escape regex metacharacters (.*+?^${}()|[]\) with a backslash when you want to match them literally.

Troubleshooting

  • If the pattern does not match, test it in a regex debugger that shows step-by-step matching.
  • Catastrophic backtracking can cause exponential slowdown. Avoid nested quantifiers like (a+)+.

Security limits

  • Regex denial of service (ReDoS) is a real threat. Avoid patterns with potential for catastrophic backtracking on untrusted input.

Related tools

Related glossary

Related tasks

Ready to run it?

References