Expressões Regulares, filtrando e-mails inválidos

Para falar de Expressões regulares, decidi usar o assunto e-mails, acho que todo desenvolvedor ja precisou validar um e-mail.
Agora vamos validar na consulta listando apenas os e-mails válidos:

mysql> SELECT eml_email FROM tb_email WHERE  eml_email REGEXP ‘^[a-zA-Z0-9]{1}([\._a-zA-Z0-9-]+)(\.[_a-zA-Z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+){1,3}$’

Agora listando os e-mails Inválidos:

mysql> SELECT eml_email FROM tb_email WHERE  eml_email NOT REGEXP ‘^[a-zA-Z0-9]{1}([\._a-zA-Z0-9-]+)(\.[_a-zA-Z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+){1,3}$’

Teta nao?

2 Responses

  1. Ei legal!
    Valeu, tava precisando fazer aqui uma consulta onde deveria trazer somente o ano sem repetir de uma tabela e o seu post me ajudou a ver melhor uma forma.

    Acabei que achei o seguinte:
    select DISTINCT YEAR(Data) as mes from Noticias;

    Com isso eu trago somente os anos que existe cadastrado na tabela Noticias.
    Valeu pela dica e pelo empurrão….rs…

  2. Valeu o comment, thank you ;-)

Leave a Reply