re 模块是 Python 标准库中的正则表达式模块。正则表达式是一种特殊的字符串处理方式,常用于匹配文本中的特定模式。re 模块可以提供针对正则表达式的支持。
re.finditer(pattern, string, flags=0)
函数功能:
扫描整个字符串,并返回对每个匹配项的迭代器。每个匹配项都由一个 MatchObject 实例表示。
参数:
flags:可选参数, 通过它可以修改正则表达式的匹配方式, 这是一个 int 类型的变量, 取以下值中的单个或者多个:
返回值:
返回一个迭代器,迭代器中的每个元素都是匹配的 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(), match.start(), match.end())
输出结果:
123 6 9
456 16 19
在此例中,首先利用 re.compile() 函数创建了一个正则表达式对象 pattern,该表达式用来匹配数字。
然后调用 finditer() 函数对字符串进行查找匹配,循环遍历迭代器并输出其匹配结果。
import re
pattern = re.compile(r'Python')
string = 'Hello Python, Python is a wonderful language!'
for match in pattern.finditer(string):
s = match.start()
e = match.end()
print(match.group(), s, e)
输出结果:
Python 6 12
Python 14 20
在此例中,同样先使用 re.compile() 函数创建一个正则表达式对象 pattern,匹配字符串 Python。
然后调用 finditer() 函数查找字符串,循环遍历迭代器并输出其匹配结果。
re.finditer() 函数可以快速匹配字符串中的所有符合要求的子串,并返回它们在原字符串中的位置。学会了该函数的使用方法对于进行复杂的文本处理任务至关重要。
本文链接:http://task.lmcjl.com/news/15444.html