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

正则表达式解决方案

2012-02-10 
正则表达式VC6.0下运行int regcompx(const char* str){smatch what//cpos strrchr(lbody, -)//在lbo

正则表达式
VC6.0下运行
int regcompx(const char* str)
  {  
  smatch what;
  //cpos = strrchr(lbody, '-');//在lbody中查找'-'最后一次出现的位置,最后返回指向'-'的指针
  if((strrchr(str, '-')))
  {
  regex expression("\w{6}-\w{6}");//正则表达式
  if(regex_search(str, what, expression))
  {
  for(int i=0;i<what.size();i++)
  //printf("str: %s\r\n", what[i].str);
  cout<<"str: " <<what[i].str()<<endl;//cout<< " "<<endl 输出并换行 endl相当于换行
  }
  }

  else
  {

  }
  return 0;
  }
现在我的str是 009910-suosoeuioweuoewoeu,它输出的结果不应该是009910-suosoe吗?但是没有实现,什么原因,请各位帮帮忙 ,小女子不胜感激! 编译没有错,就是没有结果
完了,没分了,%>_<%,对不住了

[解决办法]
for (size_t i = 0; i < what.size(); ++i)
{
if (what[i].matched)
std::cout << what[i] << std::endl;
}
[解决办法]

C/C++ code
regex expression("\w{6}-\w{6}");//正则表达式 

热点排行