Python Regex Groups 🎯

beginner
13 min

Python Regex Groups 🎯

Welcome to our comprehensive guide on Python Regular Expressions (Regex) Groups! We'll explore this powerful tool that helps us match, capture, and manipulate specific parts of strings. Let's dive in!

Understanding Regex Groups 📝

Regex groups allow us to select, isolate, and work with specific parts of a matched pattern. They are essential when dealing with complex string manipulations.

Basic Grouping 💡

In Python, we create groups by wrapping the pattern we want to capture inside parentheses (). Let's see an example:

python
import re # Our target string s = "Today is Monday, 1st of May" # Extracting the day and date match = re.search(r"(\w+) (\d+) (\w+)", s) if match: day, month, year = match.groups() print(f"Day: {day}, Month: {month}, Year: {year}")

In this example, we're using the regular expression (\w+) (\d+) (\w+) to capture the day, month, and year. The groups() method returns a tuple containing the matched groups, which we then use to print the day, month, and year.

Named Groups 💡

Named groups let us assign a friendly name to a group, making it easier to reference and understand the captured data.

python
import re # Our target string s = "Today is Monday, 1st of May" # Named groups pattern = re.compile(r"(?P<day>\w+), (?P<date>\d+) (?P<month>\w+)") match = pattern.search(s) if match: print(f"Day: {match.group('day')}, Date: {match.group('date')}, Month: {match.group('month')}")

In this example, we use the (?P<name>\w+) syntax to create a named group. We then use the group() method and pass the name of the group to retrieve the captured data.

Grouping Multiple Occurrences 💡

To capture multiple occurrences of a pattern, use capturing groups and a loop to iterate over them.

python
import re # Our target string s = "apple, banana, grapes, strawberry" # Extract all fruits pattern = re.compile(r"(.+?)") matches = pattern.finditer(s) for match in matches: print(match.group(0))

In this example, we use the finditer() method to iterate over all occurrences of the pattern.

Grouping Quantifiers 💡

Quantifiers let us match patterns based on the number of times a character appears. Grouping quantifiers within parentheses allows us to apply the quantifier to a specific group.

python
import re # Our target string s = "I like apples, but I love bananas" # Extracting the number of 'l' in 'like' and 'love' pattern = re.compile(r"(l\{1,\})") matches = pattern.finditer(s) for match in matches: print(match.group(0))

In this example, we use the {1,} quantifier to match one or more occurrences of 'l' within the 'like' and 'love' words.

Quiz

Quick Quiz
Question 1 of 1

What does the `groups()` method return when used with a Regex match object in Python?

By the end of this guide, you'll be able to harness the power of Python's Regex groups to extract, manipulate, and understand complex strings like a pro! Keep learning, and happy coding! 💡🎯