import re
regex = re.compile(r"(?:\s+)?(\w+)\?.\s+\w+(?:\[\])?", flags=re.MULTILINE)
test_str = ("attributiAggiuntiviList?: List;\n"
" tipologiaAnagrafica?: number;\n"
" email?: string;\n"
" pec?: string;\n"
" sitoWeb?: string;\n"
" modalitaAcquisizione?: number;\n"
" dataAcquisizione?: Date;\n"
" referral?: string;\n"
" telefonos?: Telefon[];\n"
" preferenzaComunicazioneList?: List;\n"
" id?: string;\n"
" indirizzos?: Indirizzo[];\n"
" privacy?: Privacy[];\n"
" personaFisica?: PersonaFisica;\n"
" personaGiuridica?: string;\n"
" ente?: string;\n"
" uo?: string;\n"
" datiCliente?: DatiCliente;\n"
" datiFornitore?: DatiDipendente;\n"
" datiVendor?: DatiDipendente;\n"
" datiVettore?: DatiDipendente;\n"
" datiReferente?: DatiDipendente;\n"
" datiDipendente?: DatiDipendente;")
subst = "this.$1 = item && \"$1\" in item ? item.$1 || null : null\\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