字串 正規表示式匹配

2021-08-26 12:02:18 字數 664 閱讀 6799

此題出自牛客網的劍指offer專題

請實現乙個函式用來匹配包括'.'和'*'的正規表示式。模式中的字元'.'表示任意乙個字元,而'*'表示它前面的字元可以出現任意次(包含0次)。

在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串"aaa"與模式"a.a"和"ab*ac*a"匹配,但是與"aa.a"和"ab*a"均不匹配。

//細節題,方方面面都要考慮到

class solution

//如果第乙個字串非空而第二個字串空了,則匹配不成功

if(*str!='\0' && *pattern=='\0')

//這裡想一下,是否需要立刻判斷一下第乙個字串空了,第二個字串非空的情況呢?

//答案是不需要,想一下,如果第乙個字串為空,但第二個字串為「a*」,由於『*』表示它前面的字元可以出現任意次(包含0次),所以『』和『a*』也是可以匹配成功的,所以此時並不能立刻得出判斷的結果

//接下來就要進入分類討論階段了

//假如說*(pattern+1)為『*』

if(*(pattern+1) == '*')

else

}else//假如說*(pattern+1)不為『*』

//其他情況則表明不匹配

else}}

};

正規表示式匹配字串

正規表示式用於字串處理 表單驗證等場合,實用高效。現將一些常用的表示式收集於此,以備不時之需。匹配中文字元的正規表示式 u4e00 u9fa5 評注 匹配中文還真是個頭疼的事,有了這個表示式就好辦了 匹配雙位元組字元 包括漢字在內 x00 xff 評注 可以用來計算字串的長度 乙個雙位元組字元長度計...

正規表示式匹配 字串

正規表示式匹配字串 假使,有幾個需要驗證的字串用 連線在一起 形如 farmer1,1farmer234 想用正規表示式來匹配每乙個字串。private static string sourcestr farmer1,1farmer234 private static string key farm...

正規表示式匹配字串

用函式實現匹配包含 和 的正規表示式。功能測試 多個 或 特殊值測試 空指標 include includeusing namespace std bool matchcore const char str,const char pattern if str pattern pattern str ...