给定一个字符串 (s)
和一个字符模式 (p)
。实现支持 '.'
和 '*'
的正则表达式匹配。javascript
'.'
匹配任意单个字符。
'*'
匹配零个或多个前面的元素。java
匹配应该覆盖整个字符串 (s)
,而不是部分字符串。 说明: s
可能为空,且只包含从 a-z
的小写字母。 p
可能为空,且只包含从 a-z
的小写字母,以及字符.
和*
。 示例 1:正则表达式
输入:
s = "aa"
p = "a"
输出: false
解释: "a" 没法匹配 "aa" 整个字符串。ui
示例 2:spa
输入: s = "aa"
p = "a*"
输出: true
解释: '*' 表明可匹配零个或多个前面的元素, 便可以匹配 'a' 。所以, 重复 'a' 一次, 字符串可变为 "aa"。code
示例 3:cdn
输入:
s = "ab"
p = "."
输出: true
解释: "." 表示可匹配零个或多个('*')任意字符('.')。ip
示例 4:字符串
输入:
s = "aab"
p = "cab"
输出: true
解释: 'c' 能够不被重复, 'a' 能够被重复一次。所以能够匹配字符串 "aab"。string
示例 5:
输入:
s = "mississippi"
p = "misisp*."
输出: false
答案参考:
/** * @param {string} s * @param {string} p * @return {boolean} */
var isMatch = function(s, p) {
var reg = new RegExp('^' + p + '$')
return reg.test(s)
};
复制代码