首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于boost:regex执行crash的有关问题

2012-02-29 
关于boost::regex执行crash的问题最近在学boost::regex,编译完库后写了个小程序,但在执行r.assign()时会cr

关于boost::regex执行crash的问题
最近在学boost::regex,编译完库后写了个小程序,但在执行r.assign()时会crash,调试进去后发现是regex::do_assign(...)这个方法没调用进去(用VS2008按F11跟不进去),但实现跟声明都是在其头文件里的,如果实现没有被放到dll里面,按理链接也不会过,所以百思不得其解,还望高手指点,在此谢过!
#include <iostream>
#include "boost/regex.hpp"
using namespace std;
using namespace boost;

int main()
{  
  regex r;
  r.assign("abab"); //执行此句crash  
  string s("cdabcdabcd");
  cmatch matchs;
  if(regex_match(s, r))
  {
  cout << "Match" << endl;
  }
  else
  {
  cout << "Unmatch" << endl;
  }
  return 1;
}

[解决办法]

探讨
版本问题?调不进去正常,dll中的程序是无法跟踪到的

[解决办法]
你是要这个吗?
regex H1("\\sH1(\\d{15})");
 cmatch what;
if(regex_match(" H15269526990066162004-07-310407")
 {
string x=what[1].str(); //就是你要的
 }

热点排行
Bad Request.