Non riesco a capire la tua RegExp. Troppe parentesi

Prova a vedere se questa ti va bene:
/[a-z\-_0-9]+\.[a-z\-_0-9]*/

Questa permette i caratteri minuscoli, numerici, - e _(underscore) (non e` specificato nella tua descrizione)

Ci sono almeno un carattere prima del punto, il punto e caratteri opzionali dopo il punto

Ma forse e` questo che intendevi:
/[a-z\-_0-9]+(\.[a-z\-_0-9]*)?/

il punto e quanto segue puo` anche non esserci.