正規表示式匹配

2021-10-03 04:26:53 字數 1210 閱讀 9489

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