Python编程快速上手——7.18.1 强口令检测、7.18.2 strip()的正则表达式版本

7.18 实践项目

7.18.1 强口令检测

写一个函数,它使用正则表达式,确保传入的口令字符串是强口令。强口令的定义是:长度不少于8 个字符,同时包含大写和小写字符,至少有一位数字。你可能需要用多个正则表达式来测试该字符串,以保证它的强度。

import re


def kongling_test(test):
    match1 = re.compile(r'\d')
    match2 = re.compile(r'[A-Z]+')
    match3 = re.compile(r'[a-z]+')
    match4 = re.compile(r'[^A-Za-z0-9]')
    if len(test) < 8:
        print("长度小于8\n")
    else:
        if match1.search(test) is None:
            print("不是强口令,match1\n")
        else:
            if match2.search(test) is None:
                print("不是强口令,match2\n")
            else:
                if match3.search(test) is None:
                    print("不是强口令,match3\n")
                else:
                    if match4.search(test) is not None:
                        print("不是强口令,match4\n")
                    else:
                        print("是强制口令\n")

# 验证一下
kongling_test("134safgfdgDASFDSD")

7.18.2 strip()的正则表达式版本

写一个函数,它接受一个字符串,做的事情和strip()字符串方法一样。如果只传入了要去除的字符串,没有其他参数,那么就从该字符串首尾去除空白字符。否则,函数第二个参数指定的字符将从该字符串中去除。

import re


def strip(test, character=r""):
    """去除首尾的空白字符以及第二个参数指定的字符"""
    begin_blank = re.compile(r'^\s+')
    test_out = begin_blank.sub("", test) #去除首空白字符
    end_blank = re.compile(r'\s+$')
    test_out = end_blank.sub("", test_out) #去除尾空白字符
    character_replace = re.compile(character)
    test_out = character_replace.sub("", test_out) 
    return test_out

# 验证一下
print(strip(" sdjgfifd xdf  "))
print(strip(" sabgfabd xdf  ", character=r'ab'))

sdjgfifd xdf
sgfd xdf
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

紫霄zixiao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值