學習筆記15 正規表示式匹配

2021-09-17 04:42:29 字數 574 閱讀 5742

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

思路:每次從字串裡拿出乙個字元和模式中的字元去匹配,通過判斷(pattern + 1) 是否等於』*』,來進行字串和模式中字元移動情況的選擇。具體思路介紹請看**中的注釋。

核心**如下:

bool match(char* str, char* pattern)

bool matchcore(char* str, char* pattern)

if(*str == *pattern || (*pattern == '.' && *str != '\0')) //如果模式中下乙個字元不為*,且字串和模式當前所在的字元相匹配

return matchcore(str + 1, pattern + 1); //字串和模式都向後移動乙個字元

return false;

}

15 正規表示式

正規表示式,就是從一段字串中提取需要的字串 需要引入的模組 re,常用的函式 re.findall 引數1,引數2,引數3 引數1,表示用什麼規則進行提取 引數2,表示從 提取。返回值是乙個列表 引數3,re.i 表示不區分大小寫,re.s 匹配多行中符合條件的值 1 萬用字元,表示匹配某個字元後面...

正規表示式 匹配

字串 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 均不匹配 解法 首先要想到用遞迴處理...