re 模块简介
re 模块是 Python 标准库中的正则表达式模块。正则表达式是一种特殊的字符串处理方式,常用于匹配文本中的特定模式。re 模块可以提供针对正则表达式的支持。
re.finditer() 函数
re.finditer(pattern, string, flags=0)
函数功能:
扫描整个字符串,并返回对每个匹配项的迭代器。每个匹配项都由一个 MatchObject 实例表示。
参数:
- pattern: 一个正则表达式
- string: 要进行匹配的字符串。
-
flags:可选参数, 通过它可以修改正则表达式的匹配方式, 这是一个 int 类型的变量, 取以下值中的单个或者多个:
- re.I(忽略大小写)
- re.M(多行模式)
- re.S(点任意匹配模式,改变.的行为)
返回值:
返回一个迭代器,迭代器中的每个元素都是匹配的 MatchObject 实例。
使用方法
在使用 re.finditer() 函数时,需要先通过 re.compile() 函数创建一个模式对象,再使用模式对象调用 finditer() 方法。
匹配一个字符串中的所有整数,并输出它们所在的位置
import re pattern = re.compile(r'\d+') string = 'Hello 123 Python 456' for match in re.finditer(pattern,string): print(match.group()+str(match.span())) >> 123(6, 9) 456(17, 20
在此例中,首先利用 re.compile() 函数创建了一个正则表达式对象 pattern,该表达式用来匹配数字。
然后调用 finditer() 函数对字符串进行查找匹配,循环遍历迭代器并输出其匹配结果。
总结
re.finditer() 函数可以快速匹配字符串中的所有符合要求的子串,并返回它们在原字符串中的位置。学会了该函数的使用方法对于进行复杂的文本处理任务至关重要。
标签:finditer,匹配,函数,Python,pattern,re,字符串 From: https://www.cnblogs.com/gide/p/17317539.html