题目要求:
写一个函数,它使用正则表达式,确保传入的口令字符串是强口令。强口令的定义是:长度不小于8个字符,同时包含大写和小写字符,至少有一位数字。你可能需要多个正则表达式来测试该字符串,以保证它的强度。
答案:
def intensity(string): #在使用该函数时要给括号中的参数加引号
import re
lengthRegex = re.compile(r'\w{8,}') #长度不少于8个字符
smallRegex = re.compile(r'[a-z.]') #包含小写字母
bigRegex = re.compile(r'[A-Z.]') #包含大写字母
NumRegex = re.compile(r'\d+') #包含至少一个数字
a = lengthRegex.search(string) #检查长度是否满足
b = smallRegex.search(string) #检查是否有小写字母
c = bigRegex.search(string) #检查是否有大写字母
d = NumRegex.search(string) #检查是否有至少一个数字
if a != None and b != None and c != None and d != None:
print('口令强度满足要求')
else:
print('口令强度不满足要求')