Summary: in this tutorial, you’ll learn how to use the Python regex finditer() function to find all matches in a string and return an iterator that yields match objects.
Introduction to the Python regex finditer function
The finditer() function matches a pattern in a string and returns an iterator that yields the Match objects of all non-overlapping matches.
The following shows the syntax of the finditer() function:
re.finditer(pattern, string, flags=0)Code language: Python (python)
In this syntax:
patternis regular expression that you want to search for in the string.stringis the input string.flagsparameter is optional and defaults to zero. Theflagsparameter accepts one or more regex flags. Theflagsparameter changes how the regex engine matches the pattern.
If the search is successful, the finditer() function returns an iterator yielding the Match objects. Otherwise, the finditer() also returns an iterator that will yield no Match object.
Python regex finditer example
The following example uses the finditer() function to search for all vowels in a string:
import re s = 'Readability counts.' pattern = r'[aeoui]' matches = re.finditer(pattern, s) for match in matches: print(match)Code language: Python (python)
Output:
<re.Match object; span=(1, 2), match='e'> <re.Match object; span=(2, 3), match='a'> <re.Match object; span=(4, 5), match='a'> <re.Match object; span=(6, 7), match='i'> <re.Match object; span=(8, 9), match='i'> <re.Match object; span=(13, 14), match='o'> <re.Match object; span=(14, 15), match='u'>
Leave a Reply