Home >Backend Development >Python Tutorial >How to Find All Matches of Multiple Regular Expressions in Python?
Matching Multiple Regular Expressions in Python
The re.search() function is useful for finding the first occurrence of a pattern in a string. However, if you need to locate all matches within a given text, there are methods that cater to this specific task.
One option is re.findall, which returns a list containing all substrings that match the provided pattern. It's ideal when you want to extract and work with individual matches in a sequential manner. For example:
import re text = 'This is a line with matching words: apple, orange and banana.' matches = re.findall(r'apple|orange|banana', text) print(matches) # Output: ['apple', 'orange', 'banana']
Another alternative is re.finditer, which yields MatchObject objects for each match. These objects provide detailed information about the matches, including their positions and captured groups. It's often used when you require more granular control over the matching results. For instance:
import re text = 'This is a line with matching words: apple, orange and banana. Apples are the best!' for match in re.finditer(r'apple|orange|banana', text): print(match.group()) # Output: 'apple', 'orange', 'banana', 'apple' (last match)
By utilizing re.findall or re.finditer, you can effectively identify and retrieve all occurrences of a specified pattern within a string in Python. These methods allow you to process matches as a collection or iterate over them for more complex analysis.
The above is the detailed content of How to Find All Matches of Multiple Regular Expressions in Python?. For more information, please follow other related articles on the PHP Chinese website!