我正在尝试提取文本文件中两个关键字之间的所有文本。关键字在文件中出现多次,因此我将有多个好的文本块。
input.txt文件如下:

bad bad keyword1 GOOD DATA keyword2 bad
bad bad bad keyword1 MORE
GOOD DATA keyword2 bad bad

这不起作用:
import re

f = open('input.txt', 'r')
trim = re.findall('keyword1(.+?)keyword2', f.read())
print trim

它返回一个空列表:
[]

最佳答案

import re

s = "bad bad keyword1 GOOD DATA " \
    "keyword2 bad bad bad bad " \
    "keyword1 MORE GOOD DATA " \
    "keyword2 bad bad"

for i in re.findall('keyword1(.*?)keyword2', s, re.DOTALL):
    print(i)

关于python - Python re.findall从文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30359976/

10-10 23:58