इस लेख में हम C++ STL में match_results::length() फंक्शन के कार्य, सिंटैक्स और उदाहरणों पर चर्चा करेंगे।
C++ STL में match_results क्या है?
std::match_results एक स्पेशलाइज्ड कंटेनर-जैसी क्लास है जिसका उपयोग कैरेक्टर सीक्वेंसेस के कलेक्शन को रखने के लिए किया जाता है जो मैच होते हैं। इस कंटेनर क्लास में एक रेगेक्स मैच ऑपरेशन टारगेट सीक्वेंस के मैच ढूंढता है।
match_results::length() क्या है?
match_results::length() फंक्शन C++ STL में एक इनबिल्ट फंक्शन है, जो <regex> हेडर फाइल में परिभाषित है। length() का उपयोग इससे जुड़े match_results ऑब्जेक्ट में n-th मैच की लंबाई जांचने के लिए किया जाता है। length() एक पैरामीटर स्वीकार करता है जो मैच नंबर है जो match_results::size() से कम होना चाहिए, nth मैच की लंबाई जांचने के लिए।
सिंटैक्स
smatch_name.length(unsigned int num);
पैरामीटर्स
यह फंक्शन एक पैरामीटर स्वीकार करता है जो मैच नंबर है जो कंटेनर के साइज से कम होना चाहिए। मैच नंबर 0 संपूर्ण मैच एक्सप्रेशन को दर्शाता है।
रिटर्न वैल्यू
यह फंक्शन ऑब्जेक्ट में मैचों की संख्या का अनसाइन्ड इंटीजर मान लौटाता है।
उदाहरण
Input: std::smatch; smatch.length(0); Output: 0
उदाहरण 1
#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
उदाहरण 2
#include <bits/stdc++.h>
using namespace std;
int main() {
string sr = "Tutorials Point";
regex Re("(Tutorials)(.*)");
smatch Mat;
regex_match(sr, Mat, Re);
int len = 0;
string str;
for (int i = 1; i < Mat.size(); i++) {
if (Mat.length(i) > len) {
str = Mat[i];
len = Mat.length(i);
}
}
cout << "Match length is of: " << len;
return 0;
}
आउटपुट
Match length is of: 9