【发布时间】:2019-12-26 10:26:16
【问题描述】:
我有 2 个要匹配的列表,然后打印列表 A 和列表 B 中的匹配值
import re
A="""
ABB1265 DUE blah blah
ADD809 DUE blah blah
blah ADD blah
TIME 20:33 ADD223 blah blah.
"""
B = """
GFA
ADD
ABB
TI
"""
pattern = re.compile("(" + "|".join(i.strip() for i in B.strip().splitlines()) + ")")
for line in A.splitlines():
line = line.strip()
m = pattern.match(line) #Using re.match
if m:
print(line,end=",")
print(m.group(1))
此代码仅匹配行首的单词,并且还包含字符串中的字符串
目前的输出是这样的:
ABB1265 DUE blah blah,ABB
ADD809 DUE blah blah,ADD
TIME 20:33 ADD223 blah blah.,TI
我的理想输出是这样的:
ABB1265 DUE blah blah,ABB
ADD809 DUE blah blah,ADD
blah ADD blah,ADD
TIME 20:33 ADD223 blah blah.,ADD
【问题讨论】:
-
你的意思是 2 个字符串,而不是列表
标签: python regex pattern-matching match