我目前正在学习python并做一些练习,并遇到以下问题。我输入了密码,该密码应至少为8个字符,并带有大写字母,小写字母和特殊字符。
我想了解的是,我可以将上述所有内容合并到一个正则表达式中,如下所示,还是需要分别列出每种情况(见下文)。
仅使用一个:
whole_check = re.compile(r'''(
[A-Z] #Check for capital letter
\d #Check for number
\W #check for special character)''', re.VERBOSE)
因此,如果在这里匹配,我该怎么做倍数。例如:
if not [A-Z]:
do something
if not \d:
do something
唯一的选择是,如果我在单独的变量中定义每个类别:
cap_letter = re.compile(r'[A-Z]')
small_letter = re.compile(r'[a-z]')
感谢您为我清除此问题。
答案 0 :(得分:0)
请参见Regex for password policy。通常的答案是:是的,您可以将其放入一个正则表达式中,但是您应该考虑不要这样做,因为如果不这样做,一周之内的维护和阅读/理解将更加容易:)