import re
regex = re.compile(r"^.*\d/\h*\d.*(?:\R(?!END OF REPORT).*)*\REND OF REPORT\b", flags=re.MULTILINE | re.IGNORECASE)
test_str = ("TRAFFIC MEASUREMENT REPORT PART 1/ 6 VLR MEASUREMENT VLRMEAS \n\n"
"SAMPLE DATE: FROM 2020-10-22 14:00:00:09\n"
" TO 2020-10-22 15:00:00:13\n\n"
"REGISTERED SUBSCRIBERS:\n\n\n"
"LOCATION AREA CODE CURRENT AVERAGE TMS1 TMS2 TMS3\n"
" UNKNOWN LAC 2 2 0 0 0\n"
" 113 75868 75749 0 0 0\n"
" 115 40627 40732 0 0 0\n"
" 1102 70422 70489 0 0 0\n"
" 1105 87075 87067 0 0 0\n"
" 1117 56150 56180 0 0 0\n"
" 1118 67175 67444 0 0 0\n"
" 1120 74385 74381 0 0 0\n"
" 1121 65034 65060 0 0 0\n"
" 1122 21636 21407 0 0 0\n"
" 1217 22944 22856 0 0 0\n"
" 1218 49054 48993 0 0 0\n"
" 1318 24283 24066 0 0 0\n"
" 1418 16366 16350 0 0 0\n"
" 2118 17812 17674 0 0 0\n"
" 2120 79644 79489 0 0 0\n"
"TOTAL 768477 767939 0 0 0\n\n"
"PART 1/ 6\n"
"END OF REPORT\n\n"
"testing some data\n"
"here\n\n"
"TRAFFIC MEASUREMENT REPORT PART 2/ 6 VLR MEASUREMENT VLRMEAS \n\n"
"SAMPLE DATE: FROM 2020-10-22 14:00:00:09\n"
" TO 2020-10-22 15:00:00:13\n\n"
"REGISTERED SUBSCRIBERS:\n\n\n"
"LOCATION AREA CODE CURRENT AVERAGE TMS1 TMS2 TMS3\n"
" UNKNOWN LAC 2 2 0 0 0\n"
" 113 75868 75749 0 0 0\n"
" 115 40627 40732 0 0 0\n"
" 1102 70422 70489 0 0 0\n"
" 1105 87075 87067 0 0 0\n"
" 1117 56150 56180 0 0 0\n"
" 1118 67175 67444 0 0 0\n"
" 1120 74385 74381 0 0 0\n"
" 1121 65034 65060 0 0 0\n"
" 1122 21636 21407 0 0 0\n"
" 1217 22944 22856 0 0 0\n"
" 1218 49054 48993 0 0 0\n"
" 1318 24283 24066 0 0 0\n"
" 1418 16366 16350 0 0 0\n"
" 2118 17812 17674 0 0 0\n"
" 2120 79644 79489 0 0 0\n"
"TOTAL 768477 767939 0 0 0\n\n"
"PART 2/ 6\n"
"END OF REPORT")
matches = regex.finditer(test_str)
for match_num, match in enumerate(matches, start=1):
print(f"Match {match_num} was found at {match.start()}-{match.end()}: {match.group()}")
for group_num, group in enumerate(match.groups(), start=1):
print(f"Group {group_num} found at {match.start(group_num)}-{match.end(group_num)}: {group}")
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Python, please visit: https://docs.python.org/3/library/re.html