我想解析一个看起来像这样的标记:
1111111111111111:1384537090:Gl21j08WWBDUCmzq9JZoOXDzzP8=
我使用了一个正则表达式([0-9]{16}):([0-9]{5,20}):([a-zA-Z0-9\\+/=]{28})
,当我尝试时它能够胜任。
然后我用C++尝试:
std::regex regexp(R"(([0-9]{16}):([0-9]{5,20}):([a-zA-Z0-9\\+/=]{28}))",
std::regex_constants::basic);
std::smatch match;
if (std::regex_search(stringified, match, regexp)) {
cout << match[0] << ',' << match[1] << ',' << match[2] << endl;
} else {
cout << "No matches found" << endl;
}
我在Ubuntu 13.10 x64上使用GCC 4.8.1编译,并使用-std=c++11
标志。但是我总是得到No matches found
。我做错了什么吗?