এই নিবন্ধে আমরা C++ STL-এ match_results অপারেটর ‘[ ]’-এর কাজ, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।
C++ STL-এ ম্যাচ_ফলাফল কী?
std::match_results হল একটি বিশেষ ধারক-সদৃশ শ্রেণী যা অক্ষর ক্রমগুলির সংগ্রহ ধরে রাখতে ব্যবহৃত হয় যা মিলে যায়। এই কন্টেইনার ক্লাসে একটি রেজেক্স ম্যাচ অপারেশন লক্ষ্য ক্রমের মিল খুঁজে পায়।
match_results অপারেটর ‘[ ]’
কিMatch_results অপারেটর [] হল একটি রেফারেন্স অপারেটর যা সরাসরি একটি ম্যাচ_ফলাফলের i-th অবস্থান বোঝাতে ব্যবহৃত হয়। অপারেটর [] সংশ্লিষ্ট বস্তুর i-ম মিল অবস্থান প্রদান করে। এই অপারেটরটি কাজে আসে যখন আমাদের সরাসরি শূন্য থেকে শুরু করে এর ম্যাচ পজিশনের মাধ্যমে উপাদানটি অ্যাক্সেস করতে হয়।
সিনট্যাক্স
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