Skip to main content
 首页 » 编程设计

python之如何存储来自正则表达式的关键术语列表(或字典) -Python

2024年09月03日30softidea

我对 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']