Hum ... será esta tua ER é a maneira correta de validar e-mais?! 

Andei por uma semana pesquisando o formato dos e-mails, li várias RFC's, a Wikipedia, sites registradores de domínios, etc etc etc. 

Cheguei num consenso ... 

Pelo que pesquisei ...
Um nome de usuário deve seguir estas regras:
- Possuir de 2 à 63 caracteres
 - Possuir caracteres alfanuméricos (insensitivo), pontos, hífens e sublinhados
 - Não pode iniciar ou terminar em pontuação
 - Não pode haver pontuação consecutiva
 
Sendo assim, para validar o nome de usuário, criei este grupo:
([A-Za-z0-9](([\w.-][^._-]{2,}){0,61})[A-Za-z0-9])Já os domínios e sub-domínios, devem seguir estas regras:
- Possuir de 2 à 63 caracteres
 - Possuir caracteres alfanuméricos (insensitivo) e hífens
 - Não pode iniciar ou terminar em hífen
 
Sendo assim, para validar os domínios e sub-domínios criei este grupo:
([A-Za-z0-9]([A-Za-z0-9-]{0,61})?[A-Za-z0-9]\.)+Já o TLD, deve seguir estas regras básicas:
- Possuir de 2 à 6 caracteres
 - Possuir caracteres alfabéticos
 
Sendo assim, para validar o TLD criei este grupo:
([A-Za-z]{2,6})Pronto ! 

Basta juntar estes grupos (inserindo o @ após o primeiro) e resultará em minha ER.*
* Não escrevi ela inteira porquê iria quebrar a tabela do fórum ... 

[]’s 

Até mais