2021-03-18

# 设置密码

  1. # 密码要求:

  2. # 1.长度超过8位

  3. # 2.包括大小写字母.数字.其它符号, 以上四种至少三种

  4. # 3.不能有相同长度超2的子串重复

  5. # 结果:符合则返回OK,不符合则返回NG

import re
while True:
    try:
        s = input()
        a = re.findall(r'(.{3,}).*\1', s)  # 出现超过2次的字串
        b1 = re.findall(r'\d', s)  # 数字
        b2 = re.findall(r'[A-Z]', s)  # 大写字母
        b3 = re.findall(r'[a-z]', s)  # 小写字母
        b4 = re.findall(r'[^0-9A-Za-z]', s)  # 非大小写字母和数字,^在中括号”[]”中被使用的话就是表示字符类的否定
        # print("[b1, b2, b3, b4]",[b1, b2, b3, b4])
        print('OK' if ([b1, b2, b3, b4].count([]) <= 1 and a == [] and len(s) > 8) else 'NG')
    except:
        break
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值