30.正则匹配

Posted make-big-money

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了30.正则匹配相关的知识,希望对你有一定的参考价值。

技术图片

 

 

思路:https://blog.csdn.net/qq_28410301/article/details/100182901

技术图片

class Solution {
public:
    bool isMatch(string str, string pattern) {
        //递归结束
        if(str.empty() && pattern.empty())
            return true;
        
        //查看首元素是否一致
         bool first_match = !str.empty() && (str[0] == pattern[0] || pattern[0] == .);
        
        //如果下一个字符带"*"
        if(pattern.size() >= 2 && pattern[1] == *)
            return (bool) (isMatch(str,pattern.substr(2)) || (first_match && isMatch(str.substr(1),pattern)));
        else{
            return bool(first_match && isMatch(str.substr(1),pattern.substr(1)));
        }        
        
    }
};

 

以上是关于30.正则匹配的主要内容,如果未能解决你的问题,请参考以下文章

JAVA正则表达式怎么匹配所有符合要求的子字符串

php基础30:正则匹配-量词

4-30 Java正则匹配

30.正则匹配

正则表达式 反斜杠的匹配 2018-11-30

正则表达式入门