Python正则表达式

实验题目:正则表达式

  • 实验目的及意义

设计并实现一个正则表达式检测强密码算法。通过该实验使学生综合掌握并灵活使用正则表达式。

  • 实验相关知识点及要求
    1. String, List, Regular Expression
    2. 编写一个函数,用于判定给出的字符串序列符合强密码要求:至少8个字符,包含大小写字母和至少一个数字。
    3. 请给出匹配如下模式的正则表达式:

‘42’,‘1,234’,‘6,368,745’,但是不包含: `12,34,567’, ‘1234’

  1. 请给出匹配电子邮箱地址的正则表达式。
  • 实验步骤
    1. 实验步骤框图

第二题(编写一个函数,用于判定给出的字符串序列符合强密码要求:至少8个字符,包含大小写字母和至少一个数字)实验步骤框图:

第三题(请给出匹配如下模式的正则表达式:‘42’,‘1,234’,‘6,368,745’,但是不包含: `12,34,567’ ‘1234’)实验步骤框图:

第四题(请给出匹配电子邮箱地址的正则表达式)实验步骤框图:

    1. 实验各步骤具体内容

第二题(编写一个函数,用于判定给出的字符串序列符合强密码要求:至少8个字符,包含大小写字母和至少一个数字)实验代码与结果截图:

def password_check(passwd):

    val = True

    # check the length

    if len(passwd) < 8:

        print('length should be at > 8')

        val = False

    else:

        print('length is than 8 ')

    # check the number

    if not any(char.isdigit() for char in passwd):

        print('Password should have at least one numeral')

        val = False

    else:

        print('password have least one numeral')

    # check the uppercase

    if not any(char.isupper() for char in passwd):

        print('Password should have at least one uppercase letter')

        val = False

    else:

        print('Password have at least one uppercase letter')

    # check the lowercase

    if not any(char.islower() for char in passwd):

        print('Password should have at least one lowercase letter')

        val = False

    else:

        print('Password have least one lowercase letter')

    if val:

        return val

def main():

    if password_check(password):

        print('Password is valid')

    else:

        print("Invalid Password !!")

# Driver Code

if __name__ == '__main__':

    password = input('Enter your password: ')

    main()

第三题(请给出匹配如下模式的正则表达式:‘42’,‘1,234’,‘6,368,745’,但是不包含: `12,34,567’‘1234’)实验代码与结果截图:

import re

def contains_numbers(text):

    if re.search(r"(^|\D)(42|1,234|6,368,745)(\D|$)", text):

        if not re.search(r"(^|\D)(12,34,567|1234)(\D|$)", text):

            return True

    return False

text1 = input()

print(contains_numbers(text1))

第四题(请给出匹配电子邮箱地址的正则表达式)实验代码与结果截图:

import re

pat = r'^(\w)+(\.\w+)*@(\w)+((\.\w+)+)$'

email_address = '20101110227@ncut.edu.com'

matched_address = re.match(pat, email_address)

print(matched_address.group())

四、实验结论

  • 25
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

光而不耀-2001

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

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

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

打赏作者

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

抵扣说明:

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

余额充值