python正则表达式(re)基础:查找(find)所有匹配字符串

如果我们需要查找到s中所有符合pat的字符串的span,我们应该怎么办呢?答案是使用finditer()这个方法,这个方法会返回一个iterable的结构,也就是说我们可以通过for循环来访问的结构。python会将所有满足条件的范围都记录在这个iteration中,我们可以用以下代码来进行演示。

import re
print("***************查找一个匹配串******************")
s = "i love python very much, python is my favorite."
pat = 'python'
result = re.search(pat,s)
print(result)
print(result.span())
print("*********************************")
result = re.finditer(pat,s)
for i in result:
	print(i.span())
print("*********************************")

输出的结果如下:

***************查找一个匹配串******************
<_sre.SRE_Match object; span=(7, 13), match='python'>
(7, 13)
*********************************
(7, 13)
(25, 31)
*********************************
[Finished in 1.0s]

可见,finditer把全部符合条件的字符串都找出来了。

发布了152 篇原创文章 · 获赞 6 · 访问量 4042

猜你喜欢

转载自blog.csdn.net/weixin_41855010/article/details/104420602
今日推荐