摘要:正則表達式匹配給定一個字符串和一個字符模式。實現(xiàn)支持和的正則表達式匹配。匹配應該覆蓋整個字符串,而不是部分字符串。說明可能為空,且只包含從的小寫字母。因此重復一次字符串可變?yōu)?。示例輸入輸出解釋表示可匹配零個或多個任意字符。
正則表達式匹配
給定一個字符串 (s) 和一個字符模式 (p)。實現(xiàn)支持 "." 和 "*" 的正則表達式匹配。
"." 匹配任意單個字符。
"*"匹配零個或多個前面的元素。
匹配應該覆蓋整個字符串 (s) ,而不是部分字符串。
說明:
s 可能為空,且只包含從 a-z 的小寫字母。
p 可能為空,且只包含從 a-z 的小寫字母,以及字符 . 和 *。
示例 1:
輸入:
s = "aa"
p = "a"
輸出: false
解釋: "a" 無法匹配 "aa" 整個字符串。
示例 2:
輸入:
s = "aa"
p = "a*"
輸出: true
解釋: "*" 代表可匹配零個或多個前面的元素, 即可以匹配 "a" 。因此, 重復 "a" 一次, 字符串可變?yōu)?"aa"。
示例 3:
輸入:
s = "ab"
p = ".*"
輸出: true
解釋: "." 表示可匹配零個或多個("")任意字符(".")。
示例 4:
輸入:
s = "aab"
p = "cab"
輸出: true
解釋: "c" 可以不被重復, "a" 可以被重復一次。因此可以匹配字符串 "aab"。
示例 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) };
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/101216.html