Ciao a tutti.
Mi sto scervellando da ieri, ma senza risultati di sorta.
Problema: devo riuscire ad isolare un indirizzo e-mail contenuto in una stringa di caratteri. L'indirizzo e-mail varia da stringa a stringa e le uniche cose che so è che esso può essere delimitato dai seguenti carattrti:
SPAZIO
esempio:
PUNTO E VIRGOLA
esempio:
MAGGIORE e MINIORE
esempio:
codice:
"ecco un bell'esempio <mioindirizzo@qualcosa.altro> di quello che dico"
PARENTESI DI OGNI GENERE (tonde, quadre e graffe)
esempio:
codice:
"altro esempio [mioindirizzo@qualcosa.altro] fatto apposta"
Il tutto in un mix che più vario non si può: negli esempi sopra riportati, ad esempio, tutti gli indirizzi erano anche separati da spazi, ma questo non succede sempre. Può capitare che gli indirizzi e-mail siano separati solo dal loro separatore. Esempio:
codice:
"Anche[]0123456789 questo;mioindirizzo@qualcosa.it;può <ciao> capitare"
Per cercare di "agevolarmi" sono ricorso all'utilizzo di Espressioni Regolari, ma non ne sono venuto a capo molto bene. Ad esempio ho prodotto questa, ma non reagisce nel modo corretto:
codice:
String regexp = "\\S.*@[a-zA-Z_0-9\\.]*\\.[>a-zA-Z_0-9]*"
Qualcuno potrebbe cercare di capire come comporre un'espressione regolare che faccia esattamente quello che ho in mente di fare? Potrei tollerare che i separatori finiscano nel ritultato, ma vorrei garantirmi un minimo di leggibilità degli indirizzi.
Praticamente un'espressione regolare che prenda qualsiasi carattere sia concatenato ad una '@' (esclusi i separatori) e sia seguito da qualcos'altro concatenato ad un punto concatenato a qualcos'altro (esclusi i separatori).
Grazie.
Ciao.