7.18.1 强口令检测 写一个函数,它使用正则表达式,确保传入的口令字符串是强口令。强口令的定义是:长度不少于8个字符,同时包含大写和小写字符, 至少有一位数字。你可能需要用多个正则表达式来测试该字符串,以保证它的强度 import re def check(password): num = len(password) pwRegex1 = re.compile(r'[a-z]+') pwRegex2 = re.compile(r'[A-Z]+') pwRegex3 = re.compile(r'[0-9]+') if pwRegex1.search(password) is None: print('请输入至少一个大写字母!') if pwRegex2.search(password) is None: print('请输入至少一个小写字母!') if pwRegex3.search(password) is None: print('请输入至少一个数字!') if num < 8: print('密码长度大于8!') if (num>=8)and(pwRegex1.search(password) is not None)and( pwRegex2.search(password) is not None)and(pwRegex3.search(password) is not None): return True while True: pw=input("请输入密码:") if check(pw) is True: break 7.18.2 strip()的正则表达式版本 写一个函数,它接受一个字符串,做的事情和strip()字符串方法一样。如果只传入了要去除的字符串,没有其他参数,那么就从该字符串首尾 去除空白字符。否则,函数第二个参数指定的字符将从该字符串中去除。
import re str1 = input('请输入原字符串:') str2 = input('请输入原字符串中要删除的字符:') def newstrip(str1,str2): strRegex1 = re.compile(r'^\s+|\s+$') strRegex2 = re.compile(str2) temp = strRegex1.sub('',str1) temp = strRegex2.sub('',temp) print(temp) newstrip(str1,str2)