劍指offer 正規表示式匹配

2021-10-01 11:01:39 字數 1017 閱讀 4301

正規表示式匹配

題目:

請實現乙個函式用來匹配包含『.』和『*』的正規表示式,模式中字元『.』表示任意乙個字元,而『*』表示它前面的字元可以出現的任意次數(含0次)。在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串「aaa」與字串「a.a」和「ab*ac*a」匹配,但與「aa.a」和「ab*a」不匹配。

這道題對於我們來說最難的是,讀懂題意,即如何理解『.』和『*』的意思,接下來我們乙個乙個的分析。

『.』: 表示任意乙個字元,也就是說『.』是萬能的,不管字串出現的是『a』、『b』、、、只要出現『.』,他們就匹配成功。

『*』:表示它前面的字元可以出現的任意次數(含0次)。

1.0次,及跳過前面的那個字元直接進去到下乙個字元。

2.多次,『*』前面的字元多次和目標字元匹配。

形成了如下的資料集(例如:ba*ab):

劍指offer 正規表示式匹配

請實現乙個函式用來匹配包括 和 的正規表示式。模式中的字元 表示任意乙個字元,而 表示它前面的字元可以出現任意次 包含0次 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串 aaa 與模式 a.a 和 abaca 匹配,但是與 aa.a 和 aba 均不匹配 由於只涉及兩種正規表示式的匹配,...

劍指Offer 正規表示式匹配

題目 請實現乙個函式用來匹配包括 和 的正規表示式。模式中的字元 表示任意乙個字元,而 表示它前面的字元可以出現任意次 包含0次 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串 aaa 與模式 a.a 和 ab ac a 匹配,但是與 aa.a 和 ab a 均不匹配 實現 class s...

劍指offer 正規表示式匹配

題目 請實現乙個函式用來匹配包括 和 的正規表示式。模式中的字元 表示任意乙個字元,而 表示它前面的字元可以出現任意次 包含0次 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串 aaa 與模式 a.a 和 ab ac a 匹配,但是與 aa.a 和 ab a 均不匹配.分析 觀察模式串中第...