DEV Community

Cover image for Demystifying Regular Expressions (Regex): A Chat Sheet Guide
Md Hamim
Md Hamim

Posted on • Originally published at seracoder.com

Demystifying Regular Expressions (Regex): A Chat Sheet Guide

Whether you’re a seasoned developer or a newbie, regex can be a powerful tool in your programming toolkit. This guide aims to demystify regex with a handy cheat sheet included. Let’s get started!

Table of Contents

  • What is Regex?
  • Basics:
    • Characters
    • Character Classes
    • Anchors
  • Special Characters:
    • Escape Characters
    • Alternation
    • Groups
    • Quantifiers
  • Practical Examples:
    • Email Validation
    • Date Matching
    • URL Extraction
    • Phone Number Extraction
  • Flags
  • Online Tools
  • Conclusion

What is Regex?

Regex, short for Regular Expressions, is a powerful pattern-matching tool used in programming for searching, manipulating, and validating text. It’s like a secret code for finding and working with text data.

Basics:

Characters

  • . (dot): Matches any single character except a newline.
  • *: Matches zero or more occurrences of the previous character.
  • +: Matches one or more occurrences of the previous character.
  • ?: Matches zero or one occurrence of the previous character.

Character Classes

  • [abc]: Matches any single character ‘a’, ‘b’, or ‘c’.
  • [^abc]: Matches any single character except ‘a’, ‘b’, or ‘c’.
  • [a-z]: Matches any lowercase letter.
  • [A-Z]: Matches any uppercase letter.
  • [0-9]: Matches any digit.
  • \w: Matches any word character (alphanumeric or underscore).
  • \W: Matches any non-word character.

Anchors

  • ^: Matches the start of a line.
  • $: Matches the end of a line.

Special Characters:

Escape Characters

  • \: Escapes special characters. For example, \., \\, or \(.

Alternation

  • |: Matches either the expression before or after the pipe. For example, foo|bar matches ‘foo’ or ‘bar’.

Groups

  • (...): Groups expressions together. For example, (ab)+ matches ‘ab’, ‘abab’, and so on.

Quantifiers

  • {n}: Matches exactly ‘n’ occurrences.
  • {n,}: Matches ‘n’ or more occurrences.
  • {n, m}: Matches between ‘n’ and ‘m’ occurrences.

Practical Examples:

Email Validation

  • ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

Date Matching

  • (0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/\d{4}

URL Extraction

  • https?://\S+

Phone Number Extraction

  • \d{3}-\d{3}-\d{4}

Flags

Flags can modify how regex behaves. Common flags include:

  • i: Case-insensitive matching.
  • g: Global matching (find all occurrences).
  • m: Multiline matching.

Online Tools

There are plenty of online regex tools to test and experiment with regex patterns. Some popular ones include RegExr, RegEx101, and RegexPlanet.

Conclusion

Regex is a versatile tool that can save you time and effort when working with text data. It may seem intimidating at first, but with practice and a handy cheat sheet like this, you’ll become a regex ninja in no time!

Remember, regex is a skill that improves with practice. Don’t get discouraged if you don’t master it right away. Keep experimenting and refining your patterns, and you’ll be using regex like a pro in no time! 🚀🔍🎉

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read more

Top comments (0)

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more