Python re module

Introduction Reading Time: 10 min

Table of Contents

Description

The re module in Python provides support for regular expressions. It allows you to search, match, split, replace, and extract patterns in strings using powerful and flexible pattern rules.

Prerequisites

  • Basic understanding of Python strings
  • Familiarity with regular expressions (regex syntax)
  • Knowledge of string operations

Examples

Here's a simple program in Python:

✅ re.match()
import re

# Matches the pattern only at the beginning of the string
result = re.match(r"Hello", "Hello World")
print(result.group())  # Output: Hello
✅ re.search()
# Searches the entire string for the first occurrence of the pattern
result = re.search(r"World", "Hello World")
print(result.group())  # Output: World
✅ re.findall()
# Finds all occurrences of the pattern in the string
matches = re.findall(r"\d+", "My number is 12345 and code is 67890")
print(matches)  # Output: ['12345', '67890']
✅ re.finditer()
# Returns an iterator with Match objects for all matches
for match in re.finditer(r"\d+", "123 abc 456"):
    print(match.group(), match.start(), match.end())
# Output: 
# 123 0 3
# 456 8 11
✅ re.split()
# Splits string by the occurrences of the pattern
parts = re.split(r"\s+", "split this by spaces")
print(parts)  # Output: ['split', 'this', 'by', 'spaces']
✅ re.sub()
# Replaces occurrences of the pattern with a replacement
text = re.sub(r"apple", "orange", "I like apple pie")
print(text)  # Output: I like orange pie
✅ re.compile()
# Compiles a regex pattern into a RegexObject for reuse
pattern = re.compile(r"\d+")
print(pattern.findall("Test 123 and 456"))  # Output: ['123', '456']

      

Real-World Applications

Searching specific patterns in logs or files

Validating user inputs (email, phone numbers)

Extracting data from documents

Text cleanup and preprocessing in NLP

Implementing simple parsers or scrapers

Where topic Can Be Applied

Web scraping tools

NLP and data preprocessing

Form validation in web apps

Security log analysis

Automation scripts in DevOps

Resources

Topic video source

A comprehensive video

Watch

Python pdf

pdf on topic

Visit

Interview Questions

What’s the difference between match() and search()?

When should you use findall() vs finditer()?

What does re.compile() do?

How can you replace text using regex in Python?

What will re.split(r"\s+", "Hello World") return?

How can you check if a string starts with a pattern using re?

How do you find all phone numbers from a document using re?

Explain the use of groups in regex with re.match().

What is the output of re.findall(r"[a-z]+", "abc123def")?

Why is using re.compile() better in some cases?