Шаблон будет соответствовать testtest1
, поскольку вы только указываете требуемый di git, а следующий класс символов [ !#$%&()*+,.\/:;<=>?@[\]^
{|} ~ \ w -] {8,} `будет повторять сопоставление как минимум 8 раз с любым из перечисленные.
Если вы хотите установить либо заглавные буквы AZ, либо специальные символы, вы можете использовать другой положительный прогноз с чередованием
^(?=.*\d)(?=.*(?:[A-Z]|[!#$%&()*+,.\/:;<=>?@[\]^`{|}~-]))[!#$%&()*+,.\/:;<=>?@[\]^`{|}~\w-]{8,}$
Regex demo
Заметьте , что я пропустил сопоставление пробелов, вы можете использовать пробел для класса символов, если вы хотите сопоставить его (Не уверен, если вы позволил бы пробелы в пароле)