इस लेख में हम C++ STL में match_results ऑपरेटर '[ ]' के कामकाज, सिंटैक्स और उदाहरणों पर चर्चा करेंगे।
C++ STL में match_results क्या है?
std::match_results एक विशेष कंटेनर-जैसी कक्षा है जिसका उपयोग मिलान किए गए वर्ण अनुक्रमों के संग्रह को पकड़ने के लिए किया जाता है। इस कंटेनर वर्ग में एक रेगेक्स मैच ऑपरेशन लक्ष्य अनुक्रम के मिलान ढूंढता है।
Match_results ऑपरेटर '[ ]' क्या है
Match_results ऑपरेटर [] एक संदर्भ ऑपरेटर है जिसका उपयोग सीधे match_results की i-th स्थिति को संदर्भित करने के लिए किया जाता है। ऑपरेटर [] संबंधित वस्तु की i-th मिलान स्थिति देता है। यह ऑपरेटर तब काम आता है जब हमें तत्व को सीधे शून्य से शुरू करके उसकी मिलान स्थिति से एक्सेस करना होता है।
सिंटैक्स
match_results1[int i];
पैरामीटर
यह ऑपरेटर इंटीग्रल टाइप का 1 पैरामीटर लेता है यानी उस तत्व का जिसे हम एक्सेस करना चाहते हैं।
रिटर्न वैल्यू
यह फ़ंक्शन मैच परिणाम के 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