請實現乙個函式用來匹配包括』.『和』『的正規表示式。模式中的字元』.『表示任意乙個字元,而』'表示它前面的字元可以出現任意次(包含0次)。 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串"aaa"與模式"a.a"和"abaca"匹配,但是與"aa.a"和"ab*a"均不匹配
//s, pattern都是字串
function
match
(s, pattern)
當模式中的第二個字元不是「*」時
1.如果字串中的第乙個字元和模式中的第乙個字元相匹配,那麼在字串和模式上都向後移動乙個字元,然後匹配剩餘的字串和模式。
2.如果字串中的第乙個字元和模式中的第乙個字元不相匹配,則直接返回false。
當模式中第二個字元是「*」時,有多種不同匹配方式。
1.在模式上上向後移動兩個字元,相當於x*
被忽略。因為「*」可以匹配字串中的0個字元。
2.如果模式中第乙個字元和字串中的第乙個字元相匹配,則在字串上向後移動乙個字元。
這種情況下可以有兩種選擇:
a. 模式上向後移動兩個字元
b. 模式保持不變
//s, pattern都是字串
function
match
(s, pattern)
function
matchstr
(s, istr, pattern, ipattern)
if(istr !== s.length && ipattern == pattern.length)
if(pattern[ipattern +1]
==="*"
)return
matchstr
(s, istr, pattern, ipattern +2)
;}if(s[istr]
=== pattern[ipattern]
|| pattern[ipattern]
==='.'
&& istr !== s.length)
return
false
;}
52 正規表示式匹配
題目 請實現乙個函式用來匹配包括 和 的正規表示式。模式中的字元 表示任意乙個字元,而 表示它前面的字元可以出現任意次 包含0次 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串 aaa 與模式 a.a 和 ab ac a 匹配,但是與 aa.a 和 ab a 均不匹配 思路 當模式中的第二...
( )52 正規表示式匹配
請實現乙個函式用來匹配包括 和 的正規表示式。模式中的字元 表示任意乙個字元,而 表示它前面的字元可以出現任意次 包含0次 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串 aaa 與模式 a.a 和 ab ac a 匹配,但是與 aa.a 和 ab a 均不匹配 leetcode對應題目 ...
52 正規表示式匹配
題目描述 請實現乙個函式用來匹配包括 和 的正規表示式。模式中的字元 表示任意乙個字元,而 表示它前面的字元可以出現任意次 包含0次 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串 aaa 與模式 a.a 和 ab ac a 匹配,但是與 aa.a 和 ab a 均不匹配 分析 現在只考慮...