¿Hay alguna manera de extraer todas las direcciones de correo electrónico de un texto plano usando C#.extraer todas las direcciones de correo electrónico de un texto usando C#
Por ejemplo
mi dirección de correo electrónico es [email protected] y su correo electrónico es [email protected]
debe devolver
[email protected], mrgar @ yahoo.com
He intentado lo siguiente, pero coincide con los correos electrónicos perfectos solamente.
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;
}
Retire el^desde el inicio de la expresión regular y los $ desde el extremo. ¿Hay algún otro propósito que no sea el spam para esta actividad? – Lazarus
@Lazarus no es para enviar correo no deseado, sino para rastrear la dirección web para que se pueda crear una base de datos de contactos. quitando^y $ funciona, pero tuve que agregar algunos ajustes para extraer los correos electrónicos. He publicado la respuesta. – Thunder
intente esto http://stackoverflow.com/a/26274085/1604425 mucho mejor que el complejo regx – dhiraj