1. Por favor, utiliza el marcado de js, ya que es complejo leerlo así.
2. Hacen falta más datos para saber qué quieres exactamente. Necesitarías modificar la expresión regular. Veo que la regexp cuadra cuando comienza (o no) con - y continúa o no con algún número indefinidamente. Si quieres que continúe con algún número o no
o un espacio o no
[0-9]* -> un número 0 ó más veces
([0-9]
| )* -> un número
o un espacio 0 o más veces
Eso haría cuadrar una combinación así
-001 32543 31
No tiene ningún misterio. Un saludo