我可能不会使用regex检查你的密码的大小写和数字。我只需遍历pwd字符串并设置有关是否满足您的需求的标志,然后使用regex测试允许的字符。在import re
hasUpper, hasLower, hasDigit = False, False, False
for ch in pwd:
if not hasUpper and ch in "ABCDEFGHIJKLMNOPQRSTUVWXYZ": # This is also string.ascii_uppercase
hasUpper = True
if not hasLower and ch in "abcdefghijklmnopqrstuvwxyz": # This is also string.ascii_lowercase
hasLower = True
if not hasDigit and ch in "0123456789":
hasDigit = True
if all(hasUpper, hasLower, hasDigit) and not re.search("[^A-Za-z0-9_.-]",pwd):
# password requirements fulfilled