Veréis, estoy desarrollando una aplicacioncilla web en Java EE y he llegado a un punto en el que tengo que relizar validaciones sobre los datos recogidos de un formulario, y había pensado en utilizar expresiones regulares para ello.
El problema que se me presenta es que no controlo demasiado bien las expresiones regulares, y no sabría muy bien cómo hacerlas, por ello necesito ayuda

Los campos que tengo que validar son:
- Nombre
- Apellidos
- Nombre de usuario
- Contraseña
- Pregunta de seguridad
- Respuesta secreta
Si estáis pensando que se trata de un formulario de registro de usuarios, en efecto, lo es xDD

Había pensado que las expresiones regulares deberían indicar lo siguiente:
- Nombre: Que se haya escrito 1 o más palabras usando letras, acentos y guión.
- Apellidos: Que se hayan escrito 2 o más palabras usando letras, acentos y guiones.
- Nombre de usuario: Una palabra sin espacios.
- Email: Que se haya escrito algo con una sintaxis de email válida.
- Contraseña: que se haya escrito 1 palabra usando mayúsculas, minúsculas y números por lo menos (caracteres especiales usados de forma opcional) y que tenga una longitud de entre 5 y 16 caracteres, no se podrían usar espacios.
- Pregunta y respuesta: Que se haya escrito algo.
Ojalá podáis ayudarme, porque de verdad estoybastante necesitado en este asunto

Un saludo a todos/as y un millón de gracias de antemano!!
PD: Está muy bien este foro, se puede encontrar información muy interesante y útil
