martes, 3 de agosto de 2010

Detectar emails con Expresiones regulares en C#

La forma de detectar varios emails con expresiones regulares es una tarea facil, una vez que se sabe que patron usar.
Una vez corrido el proceso, se generan los terminos encontrados, que pueden ser recorridos uno por uno con un for each.

List output = new List();
string pattern = @"(([^<>()[\]\\.,;:\s@\""]+"
+ @"(\.[^<>()[\]\\.,;:\s@\""]+)*)|(\"".+\""))@"
+ @"((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"
+ @"\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+"
+ @"[a-zA-Z]{2,}))";

Regex emailregex = new Regex(pattern);
MatchCollection matches = emailregex.Matches(source);
foreach (Match item in matches)
{
if (item.Success)
{
if(!output.Contains(item.Value.ToLower()))
output.Add(item.Value.ToLower());
}
}

No hay comentarios:

Publicar un comentario