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
广告