E' la prima volta che cerco di fare un'espressione regolare, e quindi abbiate clemenza. Ho fatto questa per controllare se è giusto l'indirizzo mail, ma non restituisce mai true, dove sbaglio?

^([a-z0-9\._-]+)(@[a-z0-9\.-_]+)(\.{1}[a-z]{2,})$

il codice completo che utilizzo è
Codice PHP:
if(ereg($_POST['mail'],"^([a-z0-9\._-]+)(@[a-z0-9\.-_]+)(\.{1}[a-z]{2,})$" )){
echo 
'tutto ok';
else {
echo 
'errore';