当前位置:主页 > 软件编程 > C代码 >

c++使用正则表达式提取关键字的方法

时间:2021-11-08 09:45:08 | 栏目:C代码 | 点击:

下面看下c++通过正则表达式提取关键字,代码如下所示:

string text = "岳云鹏的对象叫铁锤";
  regex pattern("(.*)的对象叫(.*)");
 smatch results;
  if (regex_match(text, results, pattern)) {
   for (auto it = results.begin(); it != results.end(); ++it)
    cout << *it << endl;
  }
  else {
   cout << "match failed: " << text << endl;
  }
  // 岳云鹏的对象叫铁锤
 // 岳云鹏
 // 铁锤

下面看下C++正则表达式提取匹配到的字符串

/*
 * 输入是789.123.456, 输出的是789
 */
void get()
{
 std::regex ip_reg("(.*)\.123\.456");
 std::smatch matchResult;
  string inputStr;
  std::getline(std::cin,inputStr);
  //正则匹配
  if (std::regex_match(inputStr,matchResult,ip_reg))
  {
   cout << "Match: ";
   //打印子表达式结果
   for (size_t i = 1; i < matchResult.size(); ++i)
   {
    cout << matchResult[i] << " ";
   }
  }
  else
  {
   cout << "Not Match!";
  }
 }

总结

您可能感兴趣的文章:

相关文章