Python RegEx

Welcome to The Coding College, your trusted platform for Python programming tutorials! In this post, we’ll dive into Python RegEx (Regular Expressions), a powerful tool for pattern matching and string manipulation. Whether you’re validating input, searching text, or extracting specific data, RegEx can make your tasks easier and more efficient.

What is RegEx?

Regular Expressions (RegEx) are sequences of characters that define a search pattern. They are widely used in text processing tasks, such as:

  • Validating email addresses.
  • Extracting data from logs or files.
  • Replacing text in strings.

Python provides the re module to work with RegEx.

Getting Started with the re Module

To use RegEx in Python, import the re module:

import re  

Common RegEx Functions

Here are the most commonly used functions in the re module:

1. re.search()

Searches for the first match of the pattern in the string.

import re  

text = "Learn Python at The Coding College"  
result = re.search(r"Python", text)  

if result:  
    print("Match found:", result.group())  
else:  
    print("No match found.")  

2. re.findall()

Finds all matches of the pattern in the string and returns them as a list.

text = "Email us at [email protected] or [email protected]"  
emails = re.findall(r"\S+@\S+", text)  
print(emails)  # Output: ['[email protected]', '[email protected]']  

3. re.sub()

Replaces occurrences of the pattern with a specified string.

text = "I love coding in Python!"  
new_text = re.sub(r"Python", "JavaScript", text)  
print(new_text)  # Output: I love coding in JavaScript!  

4. re.split()

Splits the string by the occurrences of the pattern.

text = "apple,banana,cherry"  
fruits = re.split(r",", text)  
print(fruits)  # Output: ['apple', 'banana', 'cherry']  

RegEx Patterns and Metacharacters

Understanding RegEx patterns is crucial for effective use. Here are some key metacharacters:

MetacharacterDescriptionExampleMatch
.Matches any charactera.bacb, a3b
^Matches the start of a string^HelloHello World!
$Matches the end of a stringWorld!$Hello World!
*Matches zero or moreab*a, ab, abb
+Matches one or moreab+ab, abb
?Matches zero or oneab?a, ab
{n}Matches exactly n timesa{3}aaa
[abc]Matches any character in set[aeiou]a, e, i
\dMatches any digit\d{4}2024, 1234
\wMatches word characters\w+hello, Python123

Working with Groups

Grouping allows you to extract specific parts of a match.

Example: Extracting Area Code

text = "(123) 456-7890"  
match = re.search(r"\((\d{3})\) (\d{3})-(\d{4})", text)  

if match:  
    print("Area Code:", match.group(1))  # Output: 123  
    print("Phone Number:", match.group(2) + "-" + match.group(3))  

Flags in RegEx

Flags modify the behavior of a RegEx search.

Common Flags

FlagDescription
re.IIgnore case.
re.MMultiline matching.
re.SMatches . with all characters, including newlines.

Exercises to Practice Python RegEx

Exercise 1: Validate Email Address

Write a RegEx pattern to validate email addresses.

Exercise 2: Extract Hashtags

Extract all hashtags from a given text, such as #Python or #Coding.

Exercise 3: Replace Dates

Replace dates in the format DD-MM-YYYY with YYYY/MM/DD.

Why Learn Python RegEx with The Coding College?

At The Coding College, we break down complex topics into simple, actionable steps. RegEx is a versatile tool for any Python developer, and mastering it will help you handle text processing tasks with ease.

Conclusion

Python RegEx is a powerful feature for pattern matching and text manipulation. By mastering its functions and syntax, you’ll unlock new possibilities in data extraction, validation, and transformation.

Leave a Comment