我有一个包含一些关键字的列表,我正在尝试解析在重复分隔符之间包含多段文本的文本文件。我正在尝试检查每个细分中是否存在关键字。如果存在任何关键字,那么我只想恢复包含关键字的那些细分(在分隔符之间)。
我的文本文件(ParseInput.txt)如下:
START
cow
sheep
apple
END
//
START
goat
orange
pear
END
//
START
peach
pineapple
watermelon
END
//
我有一个简短的python脚本,用于在文本文件中查找关键字:
from sys import argv
script, ParseInput = argv
import re
animal = ['cow', 'sheep', 'python']
inputFile = open(ParseInput)
parseOutput = re.findall('START(.*?)END', inputFile.read(), re.S)
for result in parseOutput:
for i in animal:
if i in result:
print result
运行此脚本会产生以下输出:
cow
sheep
apple
cow
sheep
apple
问题是我只想要一个恢复段的实例。我认为我的for / if循环是问题所在,但我不确定如何解决这个问题,并对任何建议表示感谢!