¿Como hacer un pattern Regex en C# con el caracter ‘@’?

publicado por: Anonymous

Buenas, quiero hacer un Pattern Regex para verificar que en una cadena exista el caracter arroba en medio de dos cadenas de texto en C#, lo convencional:

[email protected]

if (Regex.IsMatch(email, "@{1,1}")) {  
    //Codigo  
}  

En el código anterior intentaba verificar que estuviera el caracter arroba al menos y máximo una vez en la cadena, pero supongo que @ no es el regex corrector para referenciar ese caracter para un Regex.

solución

Como ya han contestado no es necesario escapar el signo @, por lo que una solución válida sería:

Regex.IsMatch(email, "[a-zA-Z]" + "@" + "[a-zA-Z"))

Si lo que quieres es validar una dirección de correo electrónico es mejor que uses el siguiente Regex:

@"^[w!#$%&'*+-/=?^_`{|}~]+(.[w!#$%&'*+-/=?^_`{|}~]+)*" + "@"+ @"((([-w]+.)+[a-zA-Z]{2,4})|(([0-9]{1,3}.){3}[0-9]{1,3}))$";

La clase MailAddress no detecta todos los casos (ej: [email protected] ó [email protected]).

Aquí puedes encontrar más Regex (en inglés).

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *