mi autorispondo alla marzullo.

l'espressione che funziona è questa, banalmente [ora mi sembra banale].

^[\.a-zA-Z0-9_-]{1,30}$

ho scoperto - per caso - che per inserire come carattere ammesso il punto '.' NON funziona se indicato, ovviamente con escape, come ultimo elemento.