我正在尝试从字符串中检索数字。字符串格式,例如_0_1_
and 我想得到0
and 1
。
这是我的代码:
std::tr1::regex rx("_(\\d+)_");
tstring fileName = Utils::extractFileName(docList[i]->c_str());
std::tr1::smatch res;
std::tr1::regex_search(fileName, res, rx);
但结果我得到了(更新:这是调试器监视的奇怪输出):
res[0] = 3
res[1] = 1
从哪里来3
,我做错了什么?
更新:我将结果输出到屏幕:
for (std::tr1::smatch::iterator it = res.begin(); it < res.end(); ++it){
std::cout << *it << std::endl;
}
和程序输出:
_0_
0