题目:
7.18.1 强口令检测
写一个函数,它使用正则表达式,确保传入的口令字符串是强口令。强口令的定义是:长度不少于8个字符,同时包含大写和小写字符,至少有一位数字。你可能需要用多个正则表达式来测试该字符串,以保证它的强度
7.18.2 strip()的正则表达式版本
写一个函数,它接受一个字符串,做的事情和strip()字符串方法一样。如果只传入了要去除的字符串,没有其他参数,那么就从该字符串首尾去除空白字符。否则,函数第二个参数指定的字符将从该字符串中去除。
代码如下:
import re
#7.18.1
def pwCheck(pw):
pwCheckRegex = re.compile(r'^.*(?=.{8,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z]).*$')
if pwCheckRegex.match(pw):
print('Your password is valid')
else:
print('Your password is invalid')
#Use the following 3 lines to run 7.18.1
# print('Please enter your pw:')
# password = input()
# pwCheck(password)
#7.18.2
def strip(strinput,substr):
if substr == '':
remove = re.sub(r'^ *| *$','',strinput)
print(str(remove) + '\n' + 'Original length is: ' + \
str(len(strinput)) + ', and after strip length is: ' + str(len(remove)))
else:
subresult = re.sub(substr,'',strinput)
print('Your subresult is: \n' + subresult)
string = input('Please enter your string:\n')
substring = input('Please enter your substring:\n')
strip(string, substring)
运行结果:
7.18.1
7.18.2