正则表式匹配

题目:请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 

思路:模拟正则表达式。。。

bool match(char* str, char* pattern)
    {

        if (pattern[0] == 0 && str[0] == 0) 
        {     
            return true;   
        }    
        if (pattern[0] != 0 && pattern[1] == '*')
        {       
            if (match(str, pattern + 2)) 
                return true;  
        } 
        if ((pattern[0] == '.' && str[0]) || str[0] == pattern[0]) 
        {    
            if (match(str + 1, pattern + 1))
                return true;     
             if (pattern[1] == '*' && match(str + 1, pattern)) 
             {     
                 return true;    
             }  
        }   
        return false;
    }

 

posted @ 2017-04-11 02:26  雪浪snowWave  阅读(149)  评论(0编辑  收藏  举报