我要尋找以下模式在文件中,python正則表達式:我怎樣纔能有模式搜索多個模式字符串?
pattern_strings = ['\xc2d', '\xa0', '\xe7', '\xc3\ufffdd', '\xc2\xa0', '\xc3\xa7', '\xa0\xa0', '\xc2', '\xe9']
pattern = [re.compile(x) for x in pattern_strings]
和功能使用該
def find_pattern(path):
with open(path, 'r') as f:
for line in f:
found = pattern.search(line)
if found:
logging.info('found - ' + found)
(任何比賽資格),當我嘗試使用它
find_pattern('myfile')
我見AttributeError: "'list' object has no attribute 'search'"
因爲圖案是
[<_sre.SRE_Pattern object at 0x107948378>, <_sre.SRE_Pattern object at 0x107b31c70>, <_sre.SRE_Pattern object at 0x107b31ce0>, <_sre.SRE_Pattern object at 0x107ac3cb0>, <_sre.SRE_Pattern object at 0x107b747b0>, <_sre.SRE_Pattern object at 0x107b74828>, <_sre.SRE_Pattern object at 0x107b748a0>, <_sre.SRE_Pattern object at 0x107b31d50>, <_sre.SRE_Pattern object at 0x107b31dc0>]
怎樣纔可以有一個模式看起來在pattern_strings
所有字符串?
你還應該從最長到最短的列表排序......否則你將得不到你期望的結果.. – 2012-07-27 18:26:11