用于密码匹配的 Python 正则表达式(re)



我正在尝试根据以下条件验证输入的密码

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

但它返回了 没有.有人请帮助我.!!!!

你想做的事情不能用一个正则表达式来完成。您需要为每个约束匹配不同的正则表达式,并且密码仅在每个约束匹配时才有效。

对于至少两个大写字符的约束,请将两个大写字符与介于两者之间的任何字符匹配:r'[A-Z].*[A-Z]'

对于小写:r'[a-z].*[a-z]'

对于数字:r'[0-9].*[0-9]'

对于至少一个特殊字符:r'[!@#$%^&*()-_=+]',其中括号包含允许的特殊字符。

对于长度,最小 6,最大 10:r'^.{6,10}$'

虽然你可以使用正则表达式来做到这一点,但你可能会发现在普通的 python 中简单地编写约束而没有它们更容易。以长度为例,你可以做

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

而不是使用正则表达式。

最新更新