match_results operator[] 在 C++ STL 中
在本文中,我們將討論 C++ STL 中 match_results 運算子“[]”的工作原理、語法和示例。
什麼是 C++ STL 中的 match_results?
std::match_results 是一個專門的類容器,用於儲存已匹配的一系列字元序列。在此容器類中,正則表示式匹配操作可以找到目標序列的匹配項。
什麼是 match_results 運算子“[]”
Match_results 運算子[] 是一個引用運算子,用於直接引用 match_results 的第 i 個位置。運算子 [] 返回所關聯物件的第 i 個匹配位置。當我們必須透過從零開始的匹配位置直接訪問元素時,此運算子會非常有用。
語法
match_results1[int i];
引數
此運算符采用一個整數型別的引數,即我們要訪問的元素。
返回值
此函式返回對匹配結果第 i 位置的引用。
示例
Input: string str = "TutorialsPoint";
regex R("(Tutorials)(.*)");
smatch Mat;
regex_match(str, Mat, R);
Mat[0];
Output: TutorialsPoint示例
#include <bits/stdc++.h>
using namespace std;
int main() {
string str = "TutorialsPoint";
regex R("(Tutorials)(.*)");
smatch Mat;
regex_match(str, Mat, R);
for (int i = 0; i < Mat.size(); i++) {
cout<<"Match is : " << Mat[i]<< endl;
}
return 0;
}輸出
如果我們執行以上程式碼,它將生成以下輸出 −
Match is : TutorialsPoint Match is : Tutorials Match is : Point
示例
#include <bits/stdc++.h>
using namespace std;
int main() {
string str = "Tutorials Point";
regex R("(Tutorials)(Point)(.*)");
smatch Mat;
regex_match(str, Mat, R);
int len = 0;
string S;
for(int i = 1; i < Mat.size(); i++) {
if (Mat.length(i) > len) {
str = Mat[i];
len = Mat.length(i);
}
}
cout<<"Matching length is : " << len<< endl;
return 0;
}輸出
如果我們執行以上程式碼,它將生成以下輸出 −
Matching length is : 0
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP