C 正規表示式庫regex

2021-09-28 19:45:07 字數 1600 閱讀 9467

一、作用

可用於字串的匹配(match)、查詢(search)、切割(tokenize)、替換(replace)等工作。採用萬用字元(wildcard)和模式(pattern)作為關鍵字。

二、如何使用正規表示式庫

1、引入標頭檔案#include ;

2、指定匹配模式std::regex;

3、呼叫正則函式std::regex_macth/search/replace(...);

三、示例

#include #include using namespace std;

int main(int argc, char* ar**)

; bool found = regex_match("hello world!", reg1);

cout << "1 - found: " << found << endl;

regex reg2; // reg2與reg1等價

found = regex_match("hello c++!", reg2);

cout << "2 - found: " << found << endl;

regex reg3(r"(.*)", regex_constants::grep);

found = regex_match("hello regex", reg3);

cout << "3 - found: " << found << endl;

found = regex_match("hello regex c_string", regex(".*"));

cout << "4 - found: " << found << endl;

found = regex_match("xml tag: hello xml", regex(".*"));

cout << "5 - found: " << found << endl;

found = regex_match("xml tag: hello xml", regex(".*.*"));

cout << "6 - found: " << found << endl;

found = regex_search("xml tag: hello xml", regex(".*"));

cout << "7 - be search: " << found << endl;

return 0;

}

輸出:

四、組(grouping)概念

正則模式設定可以採用組(grouping)的概念;

採用(...)表示捕獲組,使用\n引用該組,n表示第n組

eg:r"(.*)",(.*)為捕獲組,\1引用(.*)。

五、regex_match與regex_search

regex_match:整個字串匹配正規表示式;

regex_search:部分字串匹配正規表示式。

正規表示式regex

正規表示式 regular expression 是乙個字串,表示一定的規則 api文件的pattern類中有其具體的規則定義 注意 regex嚴格區分大小寫 package cn.itcast.demo02 public class regexdemo02 檢驗郵箱位址是否合法 規則 123456...

RegEx正規表示式

eg select prod name from products where prod name regexp 000 描述了乙個規則,通過這個規則可以匹配一類字串平台雲 字母 數字 漢字 下劃線 以及沒有特殊定義的標點符號,都是 普通字元 能夠與多種字元匹配的表示式 注意區分大小寫,大寫是相反的...

boost庫 regex正規表示式

處理文字經常用到正規表示式,boost庫也提供了正規表示式的支援。boost regex re abc boost regex icase boost regex normal code snippet include boost regex re d std string str 1234 if ...