读书人

boost regex (quot;\\d*|)为啥有得不到字串

发布时间: 2013-03-29 14:24:52 作者: rapoo

boost regex ("\\d*|)为什么有得不到字串
#include<boost/regex.hpp>
#include <string>
int main()
{
std::string str("fgdfdf34535345");
boost::regex reg("\\d*");
boost::smatch what;
if(boost::regex_search(str,what,reg))
{
//这里语句会被执行,但是显示的时候只有一个空的字串
//但是regex的匹配字串被换成("\\w*\\d*")的时候就能输出后边的数字部分
std::cout<<what[0]<<std::endl;
}
return 0;
}
[解决办法]
试试match_all

if(boost::regex_search(str,what,reg,match_all))

读书人网 >C++

热点推荐