re.finditer()函数使用正则表达式搜索字符串,返回一个匹配的迭代器,每个迭代项都是匹配的对象。该函数与re.findall()功能类似,但返回的是一迭代器,可用于处理较大的文本数据,更加高效。
语法
re.finditer(pattern, string, flags=0)
参数
返回值
match对象的迭代器。
DOTALL
re.DOTALL 可以让正则表达式中的 "." 匹配包括换行符在内的任意字符。
下面提供两个实例来说明re.finditer.DOTALL函数的使用。
import re
# 初始化字符串
text = '''this is
a multiline
text'''
# 匹配每个换行符
regex = re.compile(r'.', re.DOTALL)
# 取得匹配对象
matches = regex.finditer(text)
# 打印匹配的内容
for match in matches:
print(match.group())
输出结果:
t
h
i
s
i
s
a
m
u
l
t
i
l
i
n
e
t
e
x
t
import re
# 初始化字符串
text = '''<div>
<h1>Title</h1>
<p>Paragraph 1</p>
<p>Paragraph 2</p>
</div>'''
# 匹配 <div> 标记和它内部包括换行符的内容
regex = re.compile(r'<div>(.*?)</div>', re.DOTALL)
# 取得匹配对象
matches = regex.finditer(text)
# 打印匹配的内容
for match in matches:
print(match.group())
输出结果:
<div>
<h1>Title</h1>
<p>Paragraph 1</p>
<p>Paragraph 2</p>
</div>
以上是re.finditer.DOTALL函数的作用与使用方法的完整攻略,希望对你有所帮助。
本文链接:http://task.lmcjl.com/news/15346.html