quinta-feira, 15 de janeiro de 2015

Regex - E-mail

Olá pessoal, nesse post iremos ver uma regex (expressão regular) que casa e-mails, trata-se de uma ER bem simples, mas que pode ser bastante útil.

Para testar, utilizamos o site regexpal: http://regexpal.com/

Veja só como é simples a regex:


Os e-mails testados são os e-mails dos colaboradores do GeeksBR, em caso de dúvidas, além de poder deixar um comentário no post, vocês poderão enviar e-mails para eles :D

Vou dividir a ER em algumas partes, primeiramente para pegar o nome do usuário temos a seguinte ER:

[A-Za-z0-9_.-]+

A ER acima diz para casar com qualquer nome que tenha caracteres de "A" à "Z" ou "a" à "z" ou 0 à 9 ou "_" ou "." ou "-". O "+" indica que pode haver 1 ou mais desses caracteres.

Logo após vem o "@", pois todo e-mail tem o "@".

Em seguida vem uma ER bem parecida com a primeira ER:

[A-Za-z0-9_]+

A ER acima serve para casar o domínio do e-mail. Aceita as letras maiúsculas ou minúsculas ou dígitos ou o caractere underscore "_".

Logo após temos o "." que faz parte da formação de um e-mail. Por último temos a terminação que pode ser composta por caracteres "a" à "z". {2,3} significa que essa terminação pode ter 2 ou 3 caracteres. O seguinte e-mail seria casado:

geeksbr@geeksbr.br

Mas o seguinte e-mail NÃO seria casado:

geeksbr@geeksbr.com.br

Como poderíamos alterar a ER para que o e-mail anterior também fosse casado?


Agora foi. Com o "?" fizemos com que o (.[a-z]{2}) fosse opcional.

Quaisquer dúvidas, deixem nos comentários, até a próxima!


Nenhum comentário: