В настоящее время я использую это регулярное выражение, чтобы проверить, соответствует ли строка нескольким условиям.
Условия строка должна содержать от 8 до 15 символов. строка должна содержать хотя бы одно число. строка должна содержать хотя бы одну прописную букву. строка должна содержать хотя бы одну строчную букву.
(?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{8,15})$
Он работает по большей части, но не допускает специального символа. Любая помощь, модифицирующая это регулярное выражение для разрешения специального символа, очень ценится.