import re
regex = re.compile(r".*(?: DE: (.*))(?: ID: (.*)){0,1}(?: MOTIF: (.*))(?: REF: (.*)){0,1}", flags=re.MULTILINE)
test_str = ("PRELEVEMENT EUROPEEN 2001427553 DE: MUTUELLE DE L'INDUSTRIE DU PETROLE ID: FR69MIP108863 MOTIF: Prelevement 42CXK 024 de MIP du 01/\n"
"VIR RECU 0485970259S DE: CPAM VAR MOTIF: 180930001235180930001235 REF: 18093000123")
subst = "Tiers:\\t$1 \\rid:\\t$2 \\rmotif:\\t$3\\r\\r"
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