C++ 11 以后有了正则表达式,对于处理字符串还是很方便的.由于我也再学习.所以下面的内容有可能描述的不准确,这些都是我自己代码中使用的,或者demo测试的.
首先使用正则表达式先要添加头文件
#include
然后编写自己的正则表达式:
例如我想匹配字符串中表示数字的格式,qwetr_11_34_12qwefasdf
我想输出11_34_12这几个字符,我们就可以编辑正则表达式.
std::regex regexStr("\\d{2}_\\d{2}_\\d{2}");
其中\\d表示数字,{}里面表示几个.这样就匹配出对应的字符串了.
- std::sregex_iterator it1(str1Name.begin(), str1Name.end(), regexStr);
- std::sregex_iterator end1;
- std::string str1Data;
- while (it1 != end1)
- {
- std::smatch match = *it1;
- str1Data = match.str();
- ++it1;
- }
这样str1Data就输出我们想要的字符串了.