Ho sempre usato questa regular

codice:
$r1 = "([a-z0-9]+[";
$r2 = "\-]?){1,3}([a-z0-9])*";

	if( preg_match("/(?i)^{$r1}\._{$r2}\@{$r1}\.{$r2}\.[a-z]{2,6}$/", $valore)==0){
        
            .....
            .....
per controllare la validità degli indirizzi mail, ora è saltato fuori un indirizzo assurdo che non viene digerito benchè funzionante, ovvero:

_xpippox_@pippo.it

è un esempio ma gli underscore in testa e prima della chiocciola ci sono e credo proprio che sia questo che la regular non gradisce, sapreste dirmi dove e cosa modficare per far digerire indirizzi del tipo sopra citato?

Grazie
SK