Python正则表达式如果在同一正则表达式字符串中匹配多个条件

Python正则表达式如果在同一正则表达式字符串中匹配多个条件,python,regex,if-statement,Python,Regex,If Statement,我目前正在学习python,并做了一些练习,遇到了以下问题。我采取用户输入的密码,应该是至少8个字符长,有大写字母,小写字母和一个特殊字符 我想了解的是,我可以将上述所有内容合并到一个正则表达式中,如下所示,或者我需要单独列出每个案例(见下文) 仅使用一个: whole_check = re.compile(r'''( [A-Z] #Check for capital letter

我目前正在学习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匹配呢。例如:

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]')

感谢您为我清除此内容。

请参阅。一般来说,答案是:是的,你可以把它放在一个正则表达式中,但是你应该考虑不要这样做,因为如果你不这样做的话,一周内就很容易保持和阅读/理解:一般来说,答案是:是的,你可以把它放在一个正则表达式中,但是你应该考虑不这样做,因为如果你不这样做,一周内就可以更容易地保持和阅读/理解:

看起来,多个是一个“去”,就像一个内衬,我不能准确地分辨出哪一个失败了。很高兴知道。谢谢因此,似乎多重的一个是去,因为与一个班轮,我不能确切地告诉哪一个失败了。很高兴知道。谢谢