Expressão regular para validar email

5 respostas
Elvis.The.Pelvis

[email removido][.algo2.][algo3.]…

regras:
nome: só pode haver letras (maius/minusc), underline(_), hifen(-) e ponto(.) em qualquer parte do nome.

domínio: mesma regra acima, exceto que não pode possuir pontos

os .com.br.oque_mais_vier são opicionais, mas não podem ter ponto

o email não pode terminar com .

fiz algo do tipo, mas to achando muito grande. como fazer melhor

“[a-zA-Z[-.]]+@[a-zA-Z[-.]]+”
(qualquer caracter de “a” a “z” + “-” + “" + “.” uma ou mais vezes)
@
(qualquer caracter de “a” a “z” + “-” + "
” + “.” uma ou mais vezes)

Com fazer uma amis eficiente???

5 Respostas

duardor

Ae elvis
Na disciplina de teoria de linguagens teve algo parecido e saiu mais ou menos assim mesmo…
Tipo em forma de gramatica fica assim(sendo ‘alfa’ de a a z LOWER E UPPER):
S -> A@BC
A -> alfa | . | _ | - | A
B -> alfa | B
C -> .B | CC

Acho q eh isso…
Acho q dah pra tirar a derivacao de um e-mail dai…

Abraços

Ah eh…
alfa, ., _ , - sao simbolos terminais…

Elvis.The.Pelvis

Legal, é isso mesmo. Só queria saber como ficaria com expressão regular java. Não to conseguindo bloquear o “.” no final da expressão.

F

Pra bloquear o “.” no final, acho que eh soh mudar a expressao para essa:

“[a-zA-Z[-.]]+@[a-zA-Z[-.]]*[a-zA-Z[-_]]”

Elvis.The.Pelvis

Vou testar. Deve funcionar. Tem uma forma mais elegante(expressão regular menor) que resolva o problema?

ggdaywalker

E aí Galera…
Estou procurando esta expressão regular, mas em XML Schema (XSD).
Eu sei que não é o foco. mas se alguém puder me ajduar!

Abraço

Criado 21 de março de 2003
Ultima resposta 7 de jun. de 2009
Respostas 5
Participantes 4