C++ 正则表达式(匹配、搜索、替换)
首先C++的正则表达式的速度比boost的正则表达式的数据要慢很多。
链接: std::regex与boost::regex的性能差5倍,有profile有真相。
简单正则表达式的使用:
一:匹配 regex_match
regex_match 要求的是内容完全匹配正则表达式,一个错误都不行。
二:搜索匹配 regex_search
regex_search 要求的是只要内容中存在正则表达式的要求就是正确的。
三:匹配替代 regex_replace
regex_replace 要求的是只要内容中存在正则表达式的要求就替换成新的文字
正则表达式特殊字符的处理
链接:BOOST学习:BOOST_FOREACH+boost::assign处理正则表达式(特殊字符$需要单独处理)_qq_1410888563的博客-CSDN博客
正则表达式是存在特殊的字符,需要转义才能实现匹配、搜索、替换。
正则表达式简单用例场景
1.输入正整数:string re = "^\\d*$"
2.输入负整数: string re = "^[-]\\d*$";
3.输入26个字母组成:string re = "^[a-z]*$";
4. 输入26个字母大小写组成: string re = "^[a-zA-Z]*$";
5. 匹配需要的字符中间无论出现什么: string re = "帮(.)*助";
6.输入只带有一个小数点的数: string re = "^[-|\\d]\\d*[\\d|.]\\d*$";