re.I参数实现在findall和finditer方法中实现匹配忽略大小写

大小写不敏感可以用参数re.I(I可能是代表ignore,我猜的,便于记忆),这个参数可以作为可选参数,填写在findall和finditer方法的后面。注意findall和finaiter的区别,findall返回的是一个字符串列表,里面一次排列着符合匹配要求的字符串;而finditer返回的是一个迭代器对象,里面存放着各个匹配字符串在母字符串s中的起始坐标,我们可以用以下代码来进行演示。

import re
s = 'That'
pat = r't'
results = re.findall(pat,s,re.I)
print(results)
for result in results:
	print(result)

results = re.finditer(pat,s,re.I)
print(results)
for result in results:
	print(result.span())

结果如下:

['T', 't']
T
t
<callable_iterator object at 0x00000000029B20B8>
(0, 1)
(3, 4)
[Finished in 0.6s]

可见,T和t都被识别了出来。

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

猜你喜欢

转载自blog.csdn.net/weixin_41855010/article/details/104432447