正規表示式匹配

2021-10-03 02:36:53 字數 774 閱讀 7819

題目描述:

給你乙個字串 s 和乙個字元規律 p,請你來實現乙個支援 『.』 和 『*』 的正規表示式匹配。

『.』 匹配任意單個字元

『*』 匹配零個或多個前面的那乙個元素

所謂匹配,是要涵蓋 整個 字串 s的,而不是部分字串。

方法一:回溯法

這種匹配思路其實就是不斷地減掉s和p的可以匹配首部,直至乙個或兩個字串被減為空的時候,根據最終情況來得出結論。

class

solution

boolean flag=

!s.isempty()

&&(s.

charat(0

)==p.

charat(0

)||p.

charat(0

)=='.');if

(p.length()

>=

2&&p.

charat(1

)=='*')

else

if(flag)

else

}}

方法二:動態規劃法

class

solution

}for

(int i=

0;i)else

if(p.

charat

(j)==

'*')

else}}

}return dp[slen]

[plen];}

}

正規表示式 匹配

字串 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...