c'è un + di troppo alla fine della regexp emanca un \
prova con:
codice:
^[a-z0-9]+[\.\-_]+[a-z0-9]+[@]+[a-z]+[\.]+[a-z]{2,4}$