正規表示式的匹配

2021-10-18 16:33:00 字數 1031 閱讀 4320

請實現乙個函式用來匹配包括'.'和''的正規表示式。模式中的字元'.'表示任意乙個字元,而''表示它前面的字元可以出現任意次(包含0次)。 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串"aaa"與模式"a.a"和"abaca"匹配,但是與"aa.a"和"ab*a"均不匹配

結髮程式設計。。。

時間複雜度o(n),空間複雜度o(n)。

public class solution 

int strindex = 0;

int patternindex = 0;

return matchcore(str, strindex, pattern, patternindex);

}public boolean matchcore(char str, int strindex, char pattern, int patternindex)

//str未到尾,pattern到尾,匹配失敗

if (strindex != str.length && patternindex == pattern.length)

//str到尾,pattern未到尾(不一定匹配失敗,因為a*可以匹配0個字元)

if (strindex == str.length && patternindex != pattern.length)

return false;

}//str未到尾,pattern未到尾

if (patternindex + 1 < pattern.length && pattern[patternindex + 1] == '*') else

}if (pattern[patternindex] == str[strindex] || (pattern[patternindex] == '.' && strindex != str.length))

return false;

}}

正規表示式 匹配

字串 void abtr quint32 ab 表示乙個正規表示式 template class bidirectionaliterator class allocator std allocator sub match bidirectionaliterator class match resul...

正規表示式匹配

請實現乙個函式用來匹配包括 和 的正規表示式。模式中的字元 表示任意乙個字元,而 表示它前面的字元可以出現任意次 包含0次 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串 aaa 與模式 a.a 和 ab ac a 匹配,但是與 aa.a 和 ab a 均不匹配 解法 首先要想到用遞迴處理...

正規表示式匹配

請實現乙個函式用來匹配包括 和 的正規表示式。模式中的字元 表示任意乙個字元,而 表示它前面的字元可以出現任意次 包含0次 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串 aaa 與模式 a.a 和 ab ac a 匹配,但是與 aa.a 和 ab a 均不匹配 class solutio...