題目描述
請實現乙個函式用來匹配包括』.』和』『的正規表示式。模式中的字元』.』表示任意乙個字元,而』『表示它前面的字元可以出現任意次(包含0次)。 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串」aaa」與模式」a.a」和」ab*ac*a」匹配,但是與」aa.a」和」ab*a」均不匹配
演算法:
從模式字串開始,並始終儲存上乙個字元。
1、如果兩個字元相等,那麼i++,j++
2、如果字元不等,那麼如果模式中是『.』那麼i++,j++
3、如果字元不等,如果模式是『*』,那麼看pre是否與匹配串相等,然後i++繼續迴圈判斷pre相等與否,直到不等j++;如果與匹配串不等,那麼false
4、如果字元不等,模式也不是『*』或』.』 ,
那麼看後邊字元是不是『*』如果是,則j+=2並且匹配串向後移動直到新字元
或者看後邊是否相同,不同就返回false,相同往後直到找到『*』,找不到也是返回false
class solution
int i = 0;
int j = 0;
bool flag = true;
while(str[i]!='\0' && pattern[j]!='\0')
else
else
if(pattern[j] == '*')
}else}}
else
else
return
false;}}
}if(pattern[j] == '\0' && str[i] == '\0')
return
true;
else
}};
正規表示式 匹配
字串 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...