为了账号安全,请及时绑定邮箱和手机立即绑定

正则表达式,Python 中的合并

正则表达式,Python 中的合并

鸿蒙传说 2021-10-10 14:40:32
#! python#STRONG PASSWORD PROGRAMimport re, pyperclippw_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 1if (Checker(gr))==1:    print("Strong Password")elif (Checker(gr))==0:    print("Weak Password")有没有办法可以在一行中编写三个 pw_compare_digit、pw_compare_upper、pw_compare_lower 函数以形成一个正则表达式。条件如下:强密码定义为长度至少为 8 个字符、包含大写和小写字符且至少有一位数字的密码
查看完整描述

2 回答

?
开满天机

TA贡献1786条经验 获得超13个赞

我想指出,您也可以在没有正则表达式的情况下实现这一点,以下代码将检查 gr 是否至少有八个字符长,是否包含大写和小写字符,并且至少有一个数字:

def Checker(gr):
    return len(gr)>=8 and any([i.islower() for i in gr]) and any([i.isupper() for i in gr]) and any([i.isdigit() for i in gr])

请注意,这个回报True还是False,如果你想要,而01干脆把整个返回的值成int()


查看完整回答
反对 回复 2021-10-10
  • 2 回答
  • 0 关注
  • 192 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号