C'è un modo per estrarre tutti gli indirizzi e-mail da un testo normale utilizzando C#.estrarre tutti gli indirizzi e-mail da un testo utilizzando C#
Per esempio
il mio indirizzo e-mail è [email protected] e la sua e-mail è [email protected]
dovrebbe restituire
[email protected], mrgar @ yahoo.com
Ho provato quanto segue ma corrisponde solo alle e-mail perfette.
public const string MatchEmailPattern =
@"^(([\w-]+\.)+[\w-]+|([a-zA-Z]{1}|[\w-]{2,}))@"
+ @"((([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\."
+ @"([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])){1}|"
+ @"([a-zA-Z]+[\w-]+\.)+[a-zA-Z]{2,4})$";
public static bool IsEmail(string email)
{
if (email != null) return Regex.IsMatch(email, MatchEmailPattern);
else return false;
}
Rimuovere il^dall'inizio della regex e il $ dalla fine. C'è uno scopo diverso dallo spamming per questa attività? – Lazarus
@Lazarus non è per lo spamming ma per il web che esegue la scansione dell'indirizzo in modo che possa essere creato un database di contatti! rimuovere^e $ funziona, ma ha dovuto aggiungere alcune modifiche per estrarre le email da esso. Ho postato la risposta qui. – Thunder
prova questo http://stackoverflow.com/a/26274085/1604425 molto meglio del complesso regx – dhiraj