我正在尝试根据以下条件验证输入的密码
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:
而不是使用正则表达式。