题解 | #密码验证合格程序#

密码验证合格程序

https://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841

正则表达式验证密码是否合格
import re

def validate(key: str):
    # 匹配任何非空白字符,不包括换行
    pattern = re.compile(r'(\S){8,}')
    # 匹配小写字母
    lower = re.compile(r'[a-z]')
    # 匹配大写字母
    upper = re.compile(r'[A-Z]')
    # 匹配数字
    digit = re.compile(r'\d')
    # 匹配其他字符
    other = re.compile(r'[^A-Za-z0-9]')

    a, b, c, d = 0, 0, 0, 0
    if re.match(pattern, key):
        if re.search(lower, key):
            a = 1

        if re.search(upper, key):
            b = 1

        if re.search(digit, key):
            c = 1

        if re.search(other, key):
            d = 1
    if a + b + c + d < 3:
        return False
    
    for i in range(len(key) - 3):
        if len(key.split(key[i:i+3])) >= 3:
            return False
    
    return True

while 1:
    try:
        print('OK' if validate(input()) else 'NG')
    except:
        break


#Python#
全部评论

相关推荐

01-14 19:01
吉首大学 Java
黑皮白袜臭脚体育生:加个项目吧,一般需要两个项目一业务一轮子呢,简历统一按使用了什么技术实现了什么功能解决了什么问题或提升了什么性能指标来写
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务