給定一個字符串 (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)
};
複製代碼