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