大小写不敏感可以用参数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都被识别了出来。