La REGEX perfetta non puo' esistere! Una regex Perl (quindi molto potente) che possa descrivere tutti gli indirizzi mail validi e' stato calcolato occupi 4000 caratteri. Una cosa simile e' per i domini.

Basta che il domionio non usi i caratteri latini e la tua regex e' gia' fuori gioco.