zoukankan      html  css  js  c++  java
  • 10. 正则表达式匹配

    10. 正则表达式匹配

    方法一

    class Solution(object):
        def isMatch(self, s, p):
            """
            :type s: str
            :type p: str
            :rtype: bool
            """
            import re
            value = re.match(p, s)
            if value == None or value.group(0) != s:
                return False
            else:
                return True
            
    """

    给定一个字符串 (s) 和一个字符模式 (p)。实现支持 '.' 和 '*' 的正则表达式匹配。

    
    
    '.' 匹配任意单个字符。
    '*' 匹配零个或多个前面的元素。
    
    
    

    匹配应该覆盖整个字符串 (s) ,而不是部分字符串。

    
    

    说明:

    
    
    • s 可能为空,且只包含从 a-z 的小写字母。
    • p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *
    
    

    示例 1:

    
    
    输入:
    s = "aa"
    p = "a"
    输出: false
    解释: "a" 无法匹配 "aa" 整个字符串。
    
    
    

    示例 2:

    
    
    输入:
    s = "aa"
    p = "a*"
    输出: true
    解释: '*' 代表可匹配零个或多个前面的元素, 即可以匹配 'a' 。因此, 重复 'a' 一次, 字符串可变为 "aa"。
    
    
    

    示例 3:

    
    
    输入:
    s = "ab"
    p = ".*"
    输出: true
    解释: ".*" 表示可匹配零个或多个('*')任意字符('.')。
    
    
    

    示例 4:

    
    
    输入:
    s = "aab"
    p = "c*a*b"
    输出: true
    解释: 'c' 可以不被重复, 'a' 可以被重复一次。因此可以匹配字符串 "aab"。
    
    
    

    示例 5:

    
    
    输入:
    s = "mississippi"
    p = "mis*is*p*."
    输出: false

    """
  • 相关阅读:
    P5468 [NOI2019]回家路线
    P1919 【模板】A*B Problem升级版(FFT快速傅里叶)
    P4390 [BOI2007]Mokia 摩基亚
    P4234 最小差值生成树
    P5459 [BJOI2016]回转寿司
    P2173 [ZJOI2012]网络
    P2163 [SHOI2007]园丁的烦恼
    P3826 [NOI2017]蔬菜
    P3327 [SDOI2015]约数个数和
    P1829 [国家集训队]Crash的数字表格 / JZPTAB
  • 原文地址:https://www.cnblogs.com/xiao-xue-di/p/10302153.html
Copyright © 2011-2022 走看看