我有一段代码,用正则表达式搜索匹配项
with open('ip-new.txt','r') as csvfile1, open('city.txt', 'r', encoding="utf8" ) as file1:
readCS = csv.reader(csvfile1, delimiter=';')
reader = file1.readlines()
for row in readCS:
for line in reader:
if all(re.search(fr"\b{word}\b", line, re.IGNORECASE) for word in row[:2]):
print(str(row) + line)
运行此命令后,我将获得我正在寻找的匹配项,但显然可能有多个匹配项,因此我得到以下输出:
['ZA', 'EAST LONDON'] 'id': 'ZA~EC~East London'
['GB', 'BRIDGWATER'] 'id': 'GB~ENG~Bridgwater'
['GH', 'TEMA'] 'id': 'GH~AA~Tema'
['TH', 'BANGKOK'] 'id': 'TH~10~Bangkok'
['TH', 'BANGKOK'] 'id': 'TH~10~Bangkok Noi'
['TH', 'BANGKOK'] 'id': 'TH~10~Bangkok Yai'
前3场比赛是uniq,所以我不需要打印它们,我只是想打印任何超过一场的比赛。 我不知道我如何才能适应一个计数器,用一个while循环来实现这一点。我试过了,但没有成功。我可能做错了什么,而不是一个程序员。谢谢
只需将行存储在列表中,并在获得多行时打印即可:
相关问题 更多 >
编程相关推荐