Python Регулярное выражение для сопоставления пароля (пере) - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь подтвердить введенный пароль на основании следующих условий

1. Должен содержать как минимум 2 заглавные буквы

2. Должен содержать как минимум 2 строчные буквы

3. Минимальная длина строки должна быть 6

4. Должна содержать не менее 2 цифр

5. Должна содержать не менее 1 специального символа

6.Всегодлина пароля должна быть 10

Я пытался создать шаблон что-то вроде

import re
res=re.match(r'[[A-Z{2,}][a-z{2,}][0-9{2,}][/s]+]{10}',"AaBb69%#Ag")
print res

Но он вернул None. Любой, пожалуйста, помогите мне. !!!!!

1 Ответ

0 голосов
/ 29 мая 2018

То, что вы хотите сделать, не может быть сделано с помощью одного регулярного выражения.Вам необходимо сопоставить различное регулярное выражение для каждого ограничения, и пароль действителен только в случае совпадения каждого из них.

Для ограничения не менее двух символов в верхнем регистре, сопоставьте два символа в верхнем регистре с чем-либо между: r'[A-Z].*[A-Z]'

Для строчных букв: r'[a-z].*[a-z]'

Для цифр: r'[0-9].*[0-9]'

Для хотя бы одного специального символа: r'[!@#$%^&*()-_=+]', где в скобках указаны какие специальные символы выallow.

Для длины, минимум 6, максимум 10: r'^.{6,10}$'

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

if 6 <= len(password) and len(password) <= 10:

вместо использования регулярных выражений.

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