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))