🟡 Advanced Python · Lesson 23
Regular Expressions with re Module
What is a Regular Expression?
A regular expression (regex) is a pattern used to search, match or extract text. Python's re module powers it. Regex is great for checking emails, phone numbers, PIN codes and more.
Common Patterns
| Pattern | Matches |
|---|---|
| \d | any digit (0-9) |
| \w | letter, digit or underscore |
| \s | a space |
| . | any character |
| + | one or more |
| * | zero or more |
| {n} | exactly n times |
re Functions
re.search()— find the first match anywhere.re.findall()— return all matches as a list.re.match()— match only at the start.re.sub()— replace matches.
Program 1: Find a Pattern
Python – find.py
import re
text = "My roll number is 42"
match = re.search(r"\d+", text)
if match:
print("Found number:", match.group())Found number: 42
r"\d+" means "one or more digits". .group() returns the matched text.
Program 2: Validate an Email
Python – email.py
import re
pattern = r"^[\w.]+@[\w]+\.[a-z]{2,}$"
email = input("Enter email: ")
if re.match(pattern, email):
print("Valid email")
else:
print("Invalid email")Enter email: aman@gmail.com
Valid email
[\w.]+= name part;@literal;[\w]+= domain.\.[a-z]{2,}= a dot then at least 2 letters (com, in...).
Program 3: Extract All Phone Numbers
Python – phones.py
import re
text = "Call 9876543210 or 9123456780 today"
numbers = re.findall(r"\d{10}", text)
print("Phone numbers:", numbers)Phone numbers: ['9876543210', '9123456780']
\d{10} matches exactly 10 digits; findall returns every match as a list.
Common Mistakes
- Forgetting the
r"..."raw string — backslashes get misread. - Using
match(start only) when you meantsearch(anywhere). - Over-complicating patterns — start simple and test.
Practice Tasks
- Check if a string contains any digit.
- Validate a 6-digit PIN code.
- Extract all words starting with a capital letter.
- Replace all spaces in a string with hyphens using
re.sub.
Summary
- Regex matches text patterns using the
remodule. - Key patterns:
\ddigit,\wword char,+one-or-more,{n}exactly n. - Functions: search, findall, match, sub. Always use raw strings
r"...".
💻 Live Code Editor
This page's programs are ready here — run them, edit them, and learn. No installation needed.
Powered by OneCompiler. The code loads into the editor automatically — press Run to see the output. If the editor does not open, open it in a new tab.