fork(1) download
  1. import re
  2. regex = r"(?<=PRIME MINISTER:\s)[\s\S]*?(?=NAME_OF_JOURNALIST:\s|\s*\Z)"
  3. test_str = ("NAME_OF_JOURNALIST:\n\n"
  4. "Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n\n"
  5. "PRIME MINISTER:\n\n"
  6. "Aenean tempus feugiat leo, ut tristique mauris tempus sed.\n\n"
  7. "NAME_OF_JOURNALIST:\n\n"
  8. "Aenean id felis neque. Nam ornare turpis et dolor elementum auctor.\n\n"
  9. "PRIME MINISTER:\n\n"
  10. "Donec rutrum, erat a faucibus consectetur, mi nisi rhoncus augue, et rutrum purus lorem id arcu.\n\n"
  11. "NAME_OF_JOURNALIST:\n\n"
  12. "Aenean id felis neque. Nam ornare turpis et dolor elementum auctor.\n\n"
  13. "PRIME MINISTER:\n\n"
  14. "Donec rutrum, end.\n\n\n\n\n")
  15.  
  16. matches = re.finditer(regex, test_str, re.DOTALL)
  17. for matchNum, match in enumerate(matches):
  18. matchNum = matchNum + 1
  19. print ("Match {matchNum} was found at {start}-{end}: {match}".format(matchNum = matchNum, start = match.start(), end = match.end(), match = match.group()))
  20.  
Success #stdin #stdout 0.02s 9632KB
stdin
Standard input is empty
stdout
Match 1 was found at 95-156: 
Aenean tempus feugiat leo, ut tristique mauris tempus sed.


Match 2 was found at 262-361: 
Donec rutrum, erat a faucibus consectetur, mi nisi rhoncus augue, et rutrum purus lorem id arcu.


Match 3 was found at 467-486: 
Donec rutrum, end.