On Thursday 20 July 2006 14:46, +[+ Suicide|Solution +]+ wrote:
[cut]
> com essa ER vc tampa esses buracos:
> [0-9A-Za-z_-.]+@([0-9A-Za-z_-]+\.)+[A-Za-z]{2,4}

Olá,

[...] mas cria um monte de outros problemas, veja:

$ for i in `cat lista`; do echo -n "$i: "; echo -n $i | 
egrep -q '[0-9A-Za-z_-.]+@([0-9A-Za-z_-]+\.)+[A-Za-z]{2,4}' && echo ok || 
echo err; done
[EMAIL PROTECTED]: ok
[EMAIL PROTECTED]: ok
[EMAIL PROTECTED]: ok
[EMAIL PROTECTED]: ok
[EMAIL PROTECTED]: ok

Ou seja, validou vários exemplos de e-mails que não existem.

Já a ER que enviei (é só "um exemplo", que inclusive deixa passar algumas 
exceções não comuns):

$ for i in `cat lista`; do echo -n "$i: "; echo -n $i | 
egrep -q '[EMAIL PROTECTED](\.[a-z]{2,3})(\.[a-z]{2})?$' && echo ok || echo 
err; done
[EMAIL PROTECTED]: err
[EMAIL PROTECTED]: err
[EMAIL PROTECTED]: err
[EMAIL PROTECTED]: err
[EMAIL PROTECTED]: err

Ou seja, não validou nenhuma das exceções que a outra ER deixou passar...

Conclusão: ainda fico com a minha ER.

Pode ser melhorada um pouco mais (ainda deixando passar algumas exceções):

^[a-z_\.]+@([a-z]+\.)+([a-z]{2,3})(\.[a-z]{2})?$

Ah, excluí as abominações que não deveriam existir em endereços de e-mail, 
como A-Z e traço. Quem quiser é só adicionar à ER acima...

Até,

Herbert.


---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: [EMAIL PROTECTED]
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a