""" 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次,程序退出!")