import re
regex = r"(?<=PRIME MINISTER:\s)[\s\S]*?(?=NAME_OF_JOURNALIST:\s|\s*\Z)"
test_str = ("NAME_OF_JOURNALIST:\n\n"
	"Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n\n"
	"PRIME MINISTER:\n\n"
	"Aenean tempus feugiat leo, ut tristique mauris tempus sed.\n\n"
	"NAME_OF_JOURNALIST:\n\n"
	"Aenean id felis neque. Nam ornare turpis et dolor elementum auctor.\n\n"
	"PRIME MINISTER:\n\n"
	"Donec rutrum, erat a faucibus consectetur, mi nisi rhoncus augue, et rutrum purus lorem id arcu.\n\n"
	"NAME_OF_JOURNALIST:\n\n"
	"Aenean id felis neque. Nam ornare turpis et dolor elementum auctor.\n\n"
	"PRIME MINISTER:\n\n"
	"Donec rutrum, end.\n\n\n\n\n")

matches = re.finditer(regex, test_str, re.DOTALL)
for matchNum, match in enumerate(matches):
    matchNum = matchNum + 1
    print ("Match {matchNum} was found at {start}-{end}: {match}".format(matchNum = matchNum, start = match.start(), end = match.end(), match = match.group()))
    