fork download
  1. import re
  2.  
  3. regex = r"(?:^\+\+(?=(?:(?!\-\-).)*\s+(calling[^\n]+)).*?\s+--)|(?:^\+\+(?=(?:(?!\-\-).)*\s+(?!calling[^\n]+)).*?\s+--)"
  4.  
  5. test_str = ("++ start line \n"
  6. "22 15:36:53 \n"
  7. "dog, cat, monkey, rat\n"
  8. "calling xxxxx\n"
  9. "animal already added\n"
  10. "-- exiting line\n\n\n"
  11. "++ start line \n"
  12. "12 12:56:34 \n"
  13. "cat, camel, cow, dog \n"
  14. "animal already added\n"
  15. "-- exiting line\n\n"
  16. "++ start line \n"
  17. "12 12:56:34 \n"
  18. "cat, camel, cow, dog \n"
  19. "calling pqr \n"
  20. "animal already added\n"
  21. "-- exiting line\n\n")
  22.  
  23. matches = re.finditer(regex, test_str, re.DOTALL | re.MULTILINE)
  24.  
  25. for match in matches:
  26. print(match.group(1))
  27.  
  28.  
Success #stdin #stdout 0.04s 9608KB
stdin
Standard input is empty
stdout
calling xxxxx
None
calling pqr