Проверка пароля с помощью регулярных выражений не работает в моем сценарии оболочки - PullRequest
1 голос
/ 01 мая 2020

Я пытаюсь использовать регулярное выражение для проверки пароля, соответствующего требованиям: как минимум один верхний регистр, один нижний регистр, один номер и специальный символ. Когда я запускаю этот код:

regexpassword='^(?=.*[A-Za-z])(?=.*[[:digit:]])(?=.*[@$!%*#?&])[A-Za-z0-9@$!%*#?&]{6,}$'

echo -n "Enter the password: "
read -s password
while [[ ! $password =~ $regexpassword ]]; 
do 
    somestuff...

Даже если пароль соответствует требованиям, он активирует l oop.

РЕДАКТИРОВАТЬ: поскольку это регулярное выражение PCRE, он не работает должным образом. Я использовал grep -P и теперь работает хорошо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...