'。'匹配任何单个字符。 '*'匹配前面元素的零个或多个。 匹配应覆盖整个输入字符串(非部分)。
函数原型应该是: bool isMatch(const char * s,const char * p)
一些例子:
isMatch(“aa”,”a”) → false
isMatch(“aa”,”aa”) → true
isMatch(“aaa”,”aa”) → false
isMatch(“aa”, “a*”) → true
isMatch(“aa”, “.*”) → true
isMatch(“ab”, “.*”) → true
isMatch(“aab”, “c*a*b”) → true
为最后一行
isMatch(“aab”, “c*a*b”) → true
我不确定*
是什么意思,
我只是想*
可以匹配许多字符的零,如*
可以匹配任何字符串(字符序列),但它似乎不对
答案 0 :(得分:3)
'*'匹配前面元素中的零个或多个。
c*a*b
可以翻译为
c - 0次,a - 2次,b - 1次
因此,相当于aab
。在提供的定义中要注意的关键是 - “'''匹配前一个元素的零或更多 。”