Chapter 7 模式匹配和正则表达式
-
用import re 导入正则表达式模块
-
用re.compile()函数创建一个Regex对象(记得使用原始字符串)
-
向Regex对象的search()方法传入想查找的字符串,返回一个Match对象;或者findall()返回一组字符串,包含被查找字符串中所有的匹配
notes:
花括号的贪心和非贪心匹配,re.compile(r'(Ha){3,5}') 和 re.compile(r'(Ha){3,5}?')
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
# 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次,程序退出!")
网友评论