zoukankan      html  css  js  c++  java
  • 利用正则表达式实现python强口令检测

    """
    Chapter 7 模式匹配和正则表达式
    1 用import re 导入正则表达式模块
    2 用re.compile()函数创建一个Regex对象(记得使用原始字符串)
    3 向Regex对象的search()方法传入想查找的字符串,返回一个Match对象;或者findall()返回一组字符串,包含被查找字符串中所有的匹配
    notes:
    1 花括号的贪心和非贪心匹配,re.compile(r'(Ha){3,5}') 和 re.compile(r'(Ha){3,5}?')
    """
    # excise1 口令强度检测
    #1> 长度大于8个字符
    #2> 包含大写和小写字符
    #3> 至少有1位数字
    import  re
    
    def passwdCheck(passwdstr):
        if len(passwdstr) < 8:
            return False
    
        regex1 = re.compile(r'[a-z]+')
        regex2 = re.compile(r'[A-Z]+')
        regex3 = re.compile(r'd+')
        if regex1.search(passwdstr) == None:
            return False
        elif regex2.search(passwdstr) == None:
            return False
        elif regex3.search(passwdstr) == None:
            return False
        else:
            return True
    
    if __name__ == '__main__':
        passstr = input("请输入要设置的密码:")
    
        count = 1
        while(count<3):
            if passwdCheck(passstr):
                print("密码%s满足要求,密码设置成功!" % passstr)
                break
            else:
                print("密码不满足要求,至少8个字符且包含大小字母和数字,请重新输入")
                passstr = input("请输入要设置的密码:")
            count += 1
        if count >=3:
            print("已经超过最大尝试次数3次,程序退出!")
  • 相关阅读:
    垃圾回收相关概念
    垃圾回收相关算法
    垃圾回收概述
    StringTable
    执行引擎
    [前端]背景图,中间放大特效
    [Javascript]类数组对象为什么不能用for in进行遍历
    [前端] 画个圈圈显示百分比
    win10 Build 14905.rs_prerelease.160811-1739 填坑记录
    [翻译][10 By 10 外文博客] 01.uwp获得关注并安装
  • 原文地址:https://www.cnblogs.com/noxy/p/10393115.html
Copyright © 2011-2022 走看看