C regex正規表示式

2021-10-08 10:15:12 字數 1899 閱讀 1894

正規表示式在標頭檔案中定義,是標準庫中的乙個強大工具。正規表示式是一種用於字串處理的微型語言。儘管一開始看上去比較複雜,但一旦了解這種語言,字串的處理就會簡單得多。正規表示式適用於一些與字串相關的操作。

ecmascript:

c++包含對幾種語法的支援,預設語法是ecmascript。

錨點 ^ $

萬用字元 .

替代 |

分組 () :有n個()就有n個或0個子字串。這裡的子字串不是指滿足條件的子字串,而是根據規則分割以後形成的子字串。

重複 *、+、?、

正規表示式首先是對整個字串的判斷,格式是否正確。只有整個字串滿足正規表示式,然後才能提取子字串。

#include #include #include int main()

}else

return 0;

}

kent@ubuntu:~/source/regex$ ./a.out

match:

1cd41cd

4

#include #include #include int main()

}else

return 0;

}

kent@ubuntu:~/source/regex$ ./a.out

match:

666

#include #include #include int main()

)_(\\d)");

std::string str_in("hello_2019");

std::smatch matchresult;

//正則匹配

if (std::regex_match(str_in, matchresult, str_reg))

}else

return 0;

}

kent@ubuntu:~/source/regex$ ./a.out

match:

hello_2019

hello

2019

#include #include #include int main()

)_(\\d)");

std::string str_in("hello_20198");

std::smatch matchresult;

//正則匹配

if (std::regex_match(str_in, matchresult, str_reg))

}else

return 0;

}

kent@ubuntu:~/source/regex$ ./a.out

not match!

判斷是否包含某個字元或字串:

#include #include #include int main()

.*"); //ab abc

//std::regex str_reg("(.*)(a)(.*)");

//std::regex str_reg(".*a");

//std::regex str_reg("a.*");

std::string str_in("aaabbaba"); //baaabbaba aaabbab

std::smatch matchresult;

//正則匹配

if (std::regex_match(str_in, matchresult, str_reg))

}else

return 0;

}

reference:

c regex 正規表示式使用

include include include include intmain std regex word regex s auto words begin std sregex iterator s.begin s.end word regex auto words end std sregex...

C Regex 正規表示式初探

使用正規表示式,之前對規則不求甚解,現在整理下學習成果 string str 混 3a膠帶機 140100 無 是 三工十二備混 3b膠帶機 140100 string patt w 工 w 備 我的提取規則就是識別str字串中 工 備 這樣的字串,解釋 w是 與任何單詞字元匹配,是字元類的匹配規則...

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...