正则表达式简单判断

本文介绍了正则表达式的基本概念和常见用法,包括如何使用正则进行字符串匹配、验证用户输入等。通过实例解析了正则表达式的常用元字符和修饰符,帮助读者快速掌握正则表达式在日常开发中的基本应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

def isMatch(text, pattern):

    # 判断pattern是否为空
    if not pattern:
        # 如果pattern为空,判断text是否为空,如果text也为空,则返回匹配成功,text不为空,则返回失败
        return not text

    # bool(text)表示text是否为空,后半句表示pattern当前字符是否与当前text字符相等或者是.符号。
    first_match = bool(text) and pattern[0] in {text[0], '.'}

    print({text[0], '.'})
    # 如果pattern剩余字符数量大于2,并且下一个pattern字符是*
    if len(pattern) >= 2 and pattern[1] == '*':
        # 如果当前pattern字符与text字符不同且不为.符号(即first_match为false),则递归到后面一个非*的pattern字符来继续匹配
        return (isMatch(text, pattern[2:]) or
                first_match and isMatch(text[1:], pattern))
    else:
        # 如果pattern剩余字符数量小于2或者下一个pattern字符不是*
        # 则判断当前pattern字符和text字符是否相等,如果相等继续往后判断
        return first_match and isMatch(text[1:], pattern[1:])


print(isMatch('SF', 'S'))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值