import re
regex = re.compile(r"(M[1|2])?\s+(\D+)(\d{4})_(\d{4})", flags=re.UNICODE)
test_str = ("M1 hello world 1234_5678 ip som lorem 9321_1231 iste natus error sit voluptatem 4313_4351 ratione voluptatem sequi nesciunt 4312_1234\n"
"M2 magnam aliquam 4351_3143 sed quia non numquam 3123_1432")
subst = "\\1\\t\\2\\t\\3\\n"
result = regex.sub(subst, test_str)
if result:
print(result)
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