服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - c++使用正则表达式提取关键字的方法

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

2021-07-01 16:18cplus2009 C/C++

这篇文章给大家介绍了c++使用正则表达式提取关键字的方法,相对来说比较简单,同时给大家提到了c++通过正则表达式提取匹配到的字符串的方法,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
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++正则表达式提取匹配到的字符串

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/*
 * 输入是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!";
  }
 }

总结

以上所述是小编给大家介绍的c++使用正则表达式提取关键字的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:https://blog.csdn.net/cplus2009/article/details/81907674

延伸 · 阅读

精彩推荐