您可以使用简化这一个正则表达式re.S
中,DOTALL标志。
import re
def GetTheSentences(infile):
with open(infile) as fp:
for result in re.findall('DELIMITER1(.*?)DELIMITER2', fp.read(), re.S):
print result
# extract me
# extract me
# extract me
这也利用了非贪婪运算符.*?
,因此将找到多个DELIMITER1-DELIMITER2对的非重叠块。