finditer迭代器
时间: 2023-09-17 16:03:08 浏览: 67
finditer是Python中用于搜索字符串中所有匹配指定正则表达式的迭代器。它可以在字符串中找到所有的匹配项,并以迭代器的形式返回每个匹配项的详细信息。
使用finditer可以按顺序找到所有匹配的项,并可以通过迭代依次访问它们。返回的迭代器对象可以通过for循环来遍历每个匹配的项。每个迭代对象都包含匹配项的信息,例如匹配的文本、开始位置和结束位置等。
下面是一个示例代码,演示如何使用finditer迭代器:
```
import re
# 定义要搜索的字符串
text = "I have 5 apples, 3 oranges, and 2 bananas."
# 定义正则表达式
pattern = r'\d+ \w+'
# 使用finditer迭代器进行搜索
matches = re.finditer(pattern, text)
# 遍历每个匹配项并打印匹配的文本、开始位置和结束位置
for match in matches:
print("Match found:", match.group(), "at", match.start(), "-", match.end())
```
上述代码输出结果为:
```
Match found: 5 apples at 7 - 17
Match found: 3 oranges at 19 - 30
Match found: 2 bananas at 35 - 46
```
这个例子中,使用正则表达式'\d+ \w+'来匹配一个或多个数字加上空格再加上一个单词。finditer迭代器搜索到三个匹配项,并通过for循环遍历打印了每个匹配项的详细信息。
总之,finditer是一个非常实用的迭代器,它可以在字符串中搜索所有匹配指定正则表达式的项,并且可以通过迭代器依次访问每个匹配项的信息。