正则表达式,Python 中的合并

#! python

#STRONG PASSWORD PROGRAM

import re, pyperclip



pw_compare_lower=re.compile(r'[a-z]')

pw_compare_upper=re.compile(r'[A-Z]')

pw_compare_digit=re.compile(r'[0-9]')

gr=str(input())

def Checker(gr):

    if len(gr)<8:

        return 0

    if pw_compare_lower.search(gr)==None:

        return 0

    if pw_compare_upper.search(gr)==None:

        return 0

    if pw_compare_digit.search(gr)==None:

        return 0

    return 1

if (Checker(gr))==1:

    print("Strong Password")

elif (Checker(gr))==0:

    print("Weak Password")

有没有办法可以在一行中编写三个 pw_compare_digit、pw_compare_upper、pw_compare_lower 函数以形成一个正则表达式。


条件如下:


强密码定义为长度至少为 8 个字符、包含大写和小写字符且至少有一位数字的密码


鸿蒙传说
浏览 193回答 2
2回答

开满天机

我想指出,您也可以在没有正则表达式的情况下实现这一点,以下代码将检查 gr 是否至少有八个字符长,是否包含大写和小写字符,并且至少有一个数字:def&nbsp;Checker(gr): &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;len(gr)>=8&nbsp;and&nbsp;any([i.islower()&nbsp;for&nbsp;i&nbsp;in&nbsp;gr])&nbsp;and&nbsp;any([i.isupper()&nbsp;for&nbsp;i&nbsp;in&nbsp;gr])&nbsp;and&nbsp;any([i.isdigit()&nbsp;for&nbsp;i&nbsp;in&nbsp;gr])请注意,这个回报True还是False,如果你想要,而0或1干脆把整个返回的值成int()。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python