C++ 中的 match_results 运算符 =


在本文中,我们将讨论 C++ STL 中 match_results 运算符 "=" 的作用、语法和示例。

什么是 C++ STL 中的 match_results?

std::match_results 是一个专门的类似容器的类,用于保存匹配的字符序列的集合。在这个容器类中,正则匹配运算会找到目标序列的匹配项。

什么是 match_results 运算符“=”

Match_results 运算符 = 是一个用于为 match_results 赋值的相等运算符。运算符 = 用于从一个 match_results 对象复制或移动元素到另一个 match_results 对象。

语法

match_results1 = (match_results2);

参数

另一个 match_results 对象,我们要将它的数据复制到一个 match_results 对象。

返回值

这不会返回任何值。

示例

Input: string str = "Tutorials Point";
   regex R("(Tutorials)(.*)");
   smatch Mat_1, Mat_2;
   regex_match(str, Mat_1, R);
   Mat_2 = Mat_1;
Output: MAT 2 =
   Tutorials Point
   Tutorials
   Point

示例

 现场演示

#include <bits/stdc++.h>
using namespace std;
int main() {
   string str = "Tutorials Point";
   regex R("(Tutorials)(.*)");
   smatch Mat_1, Mat_2;
   regex_match(str, Mat_1, R);
   Mat_2 = Mat_1;
   cout<<"String matches: " << endl;
   for (smatch::iterator i = Mat_2.begin(); i!= Mat_2.end(); i++) {
      cout << *i << endl;
   }
}

输出

如果我们运行上述代码,它将生成以下输出 −

String matches:
Tutorials Point
Tutorials
Point

示例

 现场演示

#include <bits/stdc++.h>
using namespace std;
int main() {
   string str = "Tutorials Point";
   regex R_1("(Tutorials)(.*)");
   regex R_2("(Po)(int)(.*)");
   smatch Mat_1, Mat_2;
   regex_match(str, Mat_1, R_1);
   regex_match(str, Mat_2, R_2);
   smatch Mat;
   if (Mat_1.size() > Mat_2.size()) {
      Mat = Mat_1;
   } else {
      Mat = Mat_2;
   }
   cout<<"string matches " << endl;
   for (smatch::iterator i = Mat.begin(); i!= Mat.end(); i++) {
      cout << *i << endl;
   }
}

输出

如果我们运行上述代码,它将生成以下输出 −

String matches:
Tutorials Point
Tutorials
Point

更新于:2020-03-23

102 次浏览

开启你的 职业

完成课程认证

开始学习
赞助商