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.