Вот один из моих старых скриптов python для разбора текста.
Он использует небольшой регкс, но должен привести вас туда, куда вы хотите.
#!/usr/bin/python
import sys
import os
import re
def readFile( fileName ):
try:
file myFile = open( fileName, "r")
except IOError:
print "There was an error reading file"
sys.exit()
file_text = myFile.read()
myFile.close()
return file_text
def writeFile( fileName, fileContent ):
ret = 1
try:
file myFile = open(fileName, "w")
except IOError:
print "There was an error writing to", fileName
sys.exit()
myFile.write(fileContent)
myFile.close()
return ret
str textContents = readFile("./myfile.txt")
list textLineList = textContents.splitlines()
for textLine in textLineList:
if re.match("(?:word1|word2|word3)*", textLine, re.I ):
print textLine
Для дальнейшей оптимизации вы можете предварительно скомпилировать регулярное выражение. Но это должен быть довольно быстрый маленький сценарий.