import re
regex = re.compile(r"(?<=[ ]A\/C[ ]+[0-9]{1,2}[ ]+IS[ ]+KILLED[ ]+AT[ ]+TIME[ ]+[0-9]{0,4}\.[0-9]{0,4})\s+", flags=re.MULTILINE)
test_str = ("MISSILE 010102 FUZES AGAINST 2 RNG= 0.0 T= 82.846\n"
" TERMINAL POSITION: X= -75933.67 Y= -4469.98 Z= 25000.09\n"
" LAUNCH POSITION: X= -127017.19 Y= -12934.89 Z= 25506.47 MODE CMD_GUIDED_DES_RDR\n"
" AVERAGE VELOCITY= 3375.35\n"
" TERMINAL VELOCITY= 2545.36\n"
" LAUNCHER POSITION: X= -113879.58 Y= -16624.14 Z= 24476.13\n"
" FPOLE= 39848.34\n"
" GUIDANCE TRACKBANK 1 HAS TRACK ON FUZEE SEEKERS CONTRIBUTING INFRA-RED\n"
" ENDGAME SEEKER: IR 1\n"
" A/C 2 IS KILLED AT TIME 82.907\n"
" MISSILE 010102 FUZES AGAINST 3 RNG= 0.0 T= 82.846\n"
" TERMINAL POSITION: X= -75933.67 Y= -4469.98 Z= 25000.09\n"
" LAUNCH POSITION: X= -127017.19 Y= -12934.89 Z= 25506.47 MODE CMD_GUIDED_DES_RDR\n"
" AVERAGE VELOCITY= 3375.35\n"
" TERMINAL VELOCITY= 2545.36\n"
" LAUNCHER POSITION: X= -113879.58 Y= -16624.14 Z= 24476.13\n"
" FPOLE= 39848.34\n"
" GUIDANCE TRACKBANK 1 HAS TRACK ON FUZEE SEEKERS CONTRIBUTING INFRA-RED\n"
" ENDGAME SEEKER: IR 1\n"
" A/C 3 IS KILLED AT TIME 82.907")
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