我对 python 和正则表达式很陌生,所以请多多包涵。 我正在尝试读取文件,使用正则表达式匹配特定名称,同时忽略大小写,并在每次找到它时存储。例如,如果文件由 Bill bill biLl biLL 组成,我需要将每个变体存储在字典或列表中。 当前代码:
import re
import sys
import fileinput
if __name__ == '__main__':
print "flag"
pattern = re.compile("""([b][i][l][l])""")
for line in fileinput.input():
variation=set(pattern.search(line, re.I))
print variation.groupdict()
print "flag2"
运行时,代码将返回错误:无法迭代“NoneType”(或类似的内容)。 那么如何存储每个变体?
提前致谢!
请您参考如下方法:
我会使用 findall:
re.findall(r'bill', open(filename).read(), re.I)
简单易行:
>>> s = 'fooBiLL bill BILL bIlL foo bar'
>>> import re
>>> re.findall(r'bill', s, re.I)
['BiLL', 'bill', 'BILL', 'bIlL']
