C 11 正規表示式 例項2

2022-07-03 20:12:10 字數 894 閱讀 6022

下面來介紹和regex_match()很像的regex_search()的使用例項,regex_match()要求正規表示式必須與模式串完全匹配,regex_search()只要求存在匹配項就可以。

#include

#include

#include

int main()

}std::cout

}執行結果:

上面這個例子只能返回第乙個匹配的項,如果要返回所有匹配的子串行,可以使用下面的方式:

#include

#include

#include

int main()

std::cout

}執行結果:

下面的例子將母音字母打頭的單詞前面的a替換為an:

#include

#include

#include

int main()

執行結果:

還是來說明一下,這裡主要使用了regex_replace(text, pattern, replace),意思是將text的內容按照pattern進行匹配,匹配成功的使用replace串進行替換,並將替換後的結果作為函式值返回。需要注意的是std::string replace = "an $2"; 這裡『$2』表示模式串的第二個子表示式,

也就是以a,e,i,o,u開頭的單詞。

C 11 正規表示式 例項2

下面來介紹和regex match 很像的regex search 的使用例項,regex match 要求正規表示式必須與模式串完全匹配,regex search 只要求存在匹配項就可以。include include include int main std cout 執行結果 上面這個例子只能...

C 11 正規表示式 例項3

下面乙個例子將進行年月日格式的轉換,將dd mm yyyy yyyy mm dd,其中 或者 都能正確識別。include include include std string format date const std string date d d transformation pattern,...

C 11正規表示式

優勢 使得字串的處理更加簡單 一些相關的操作 驗證 檢查字串是否是想要的合法性 決策 判斷乙個輸入標書哪種字串 解析 從輸入的字串中查詢自己想要的資訊 轉換 搜尋字串,並將字串替換為新的格式化的字串 遍歷 搜尋字串所有出現的地方 符號化 根據一組分隔符將乙個字串分解為多個子字串 一些重要術語 模式 ...