C++ 中的 match_results prefix() 和 suffix()


在本文中,我们将讨论 C++ STL 中 match_results::prefix() 和 match_results::suffix() 函数的工作原理、语法和示例。

什么是 C++ STL 中的 match_results?

std::match_results 是一个专门的类似容器的类,用于保存匹配的字符序列集合。在这个容器类中,正则表达式匹配操作查找目标序列的匹配项。

什么是 match_results::prefix()?

match_results::prefix() 函数是 C++ STL 中的内置函数,在 <regex> 头文件中定义。prefix() 用于获取与该函数关联的对象的前序 match_results。此函数返回 match_results 对象后续序列的引用。

语法

match_results.prefix();

参数

此函数不接受任何参数。

返回值

此函数返回匹配序列之前字符串或序列的常量引用。

示例

Input: string str = "Tutorials Points";
   regex R("Points");
   smatch Mat;
   regex_search(str, Mat, R);
   Mat.prefix();
Output: Tutorials

prefix()

示例

 在线演示

#include <bits/stdc++.h>
using namespace std;
int main() {
   string str = "Tutorials Points";
   regex R("Points");
   smatch Mat;
   regex_search(str, Mat, R);
   cout<<"String prefix is : ";
   if (!Mat.empty()) {
      cout << Mat.prefix();
   }
   return 0;
}

输出

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

String prefix is : Tutorials

什么是 match_results::suffix()?

match_results::suffix() 函数是 C++ STL 中的内置函数,在 <regex> 头文件中定义。suffix() 用于获取与该函数关联的对象的后续 match_results。此函数返回 match_results 对象后续序列的引用。

语法

match_results.suffix();

参数

此函数不接受任何参数。

返回值

此函数返回匹配序列之后字符串或序列的常量引用。

示例

Input: std::string str("Tutorials Points is the best");
   std::smatch Mat;
   std::regex re("Points");
   std::regex_match ( str, Mat, re );
   Mat.suffix();
Output: is the best

suffix()

示例

 在线演示

#include <bits/stdc++.h>
using namespace std;
int main() {
   string str = "Tutorials Points is the best";
   regex R("Points");
   smatch Mat;
   regex_search(str, Mat, R);
   cout<<"String prefix is : ";
   if (!Mat.empty()) {
      cout << Mat.suffix();
   }
   return 0;
}

输出

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

String prefix is : is the best

更新于:2020年3月23日

718 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告