請實現乙個函式用來匹配包括』.『和』『的正規表示式。模式中的字元』.『表示任意乙個字元,而』'表示它前面的字元可以出現任意次(包含0次)。 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串"aaa"與模式"a.a"和"abaca"匹配,但是與"aa.a"和"ab*a"均不匹配
1、首先判斷字串和模型的長度,若都為0,則為true;
若僅僅只模型的長度為0,則為false;
若字串長度為0,模型長度不為0:
「",".」,「ab"都是匹配的
2、若兩者長度都不為0,根據字串和模型,一一進行比較:
若是模型字元為」",則比較模型前乙個字元。
3、最後,判斷模型是否比較完,若沒有,則判斷最後剩下的字元是否符合:"",".","ab*"
**
public
class
solution
int len =0;
//模型計數
int length = pattern.length;
char c =
' ';
if(length ==
0&& str.length ==0)
else
if(length ==0)
if(str.length ==0)
if(++i >= length || pattern[i]
!='*')}
return
true;}
for(
int i=
0; i,len++)if
(str[i]
== pattern[len]
)else
else
if(pattern[len]
=='*'
)else
if(str[i]
!= pattern[len-1]
)else
}else
else if(str[i] == pattern[len])
else}}
if(i>=0)
}if(len < length)
if(pattern[i]
=='*'
|| c == pattern[i])if
(++i >= length || pattern[i]
!='*')}
}return
true;}
}
正規表示式 匹配
字串 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...