Python re.finditer() 方法返回一个迭代器,为字符串中模式的所有非重叠匹配生成匹配对象。
方法 re.findall() 返回匹配字符串的列表,而方法 re.finditer() 提供有关每个匹配项的更多详细信息,例如字符串中的开始和结束位置。每个 match 对象都可用于提取匹配的子字符串及其位置。
当我们需要详细处理或分析每个匹配项时,此方法特别有用。
语法
以下是 Python re.finditer() 方法的语法和参数 -
参数
以下是 python re.finditer() 方法的参数 -
- pattern:要搜索的正则表达式模式。
- string:要在其中搜索的字符串。
- maxsplit(可选):最大拆分数。默认值为 0,表示 “无限制”。
- flags(可选):用于修改匹配行为的标志(例如,re.IGNORECASE
返回值
此方法返回 match 对象的迭代器
示例 1
以下是 re.finditer() 方法的基本示例。此示例查找字符串中的所有数字序列并打印每个匹配项 -
输出
123
456
456
示例 2
此示例查找字符串中的所有单词,并在方法 re.finditer() 的帮助下打印每个单词 -
输出
Hello
world
Welcome
to
Python
world
Welcome
to
Python
示例 3
在此示例中,我们使用 re.IGNORECASE 标志执行不区分大小写的搜索并打印每个匹配项 -
输出
Hello
HELLO
hello
HELLO
hello
示例 4
在此示例中,我们检索字符串中每个匹配项的开始和结束位置 -
输出
123 10 13
456 25 28
456 25 28