正規表示式匹配

2021-07-14 20:22:47 字數 865 閱讀 1801

題目描述

請實現乙個函式用來匹配包括』.』和』『的正規表示式。模式中的字元』.』表示任意乙個字元,而』『表示它前面的字元可以出現任意次(包含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...