Expresión regular para la validación de contraseña

Actualmente utilizo esta expresión regular para verificar si una cadena cumple con algunas condiciones.

Las condiciones de la cadena deben tener entre 8 y 15 caracteres de longitud. la cadena debe contener al menos un número. la cadena debe contener al menos una letra mayúscula. la cadena debe contener al menos una letra minúscula.

(?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{8,15})$

Funciona en su mayor parte, pero no permite caracteres especiales. Se agradece cualquier ayuda que modifique esta expresión regular para permitir caracteres especiales.

Respuestas a la pregunta(9)

Su respuesta a la pregunta