1.请实现一个函数用来匹配包括’.’和’‘的正则表达式。模式中的字符’.’表示任意一个字符,而’‘表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串”aaa”与模式”a.a”和”ab*ac*a”匹配,但是与”aa.a”和”ab*a”均不匹配
思路:递归实现串中子串迭代
每次分别在string 和patt中取一个字符进行匹配,如果匹配,则匹配下一个字符,否则,返回并且不匹配。
匹配递归函数为bool match(char* string, char* patt);
如果模式匹配字符的下一个字符是‘*’
且如果patt当前字符和string的当前字符匹配,:\则会有三种可能情况
(1)patt当前字符能匹配 string 中的 0 个字符:match(string, patt+2)matchCore(str,patt+2):模式串未匹配
(2)patt当前字符能匹配 string 中的 1 个字符:match(string+1, patt+2)
matchCore(str+1,patt+2):模式串已经成功匹配,并且不匹配下一个字符串内容
(3)patt当前字符能匹配 string 中的 多 个字符:match(string+1, patt)
matchCore(str+1,patt):模式串已经匹配成功,尝试匹配下一个字符串
如果patt当前字符