এই আর্টিকেলে আমরা 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-তম ম্যাচের দৈর্ঘ্য চেক করতে ব্যবহৃত হয়। length() একটি প্যারামিটার গ্রহণ করে যা ম্যাচ নম্বর যা match_results::size()-এর চেয়ে কম হওয়া উচিত, n-তম ম্যাচের দৈর্ঘ্য চেক করার জন্য।
সিনট্যাক্স
smatch_name.length(unsigned int num);
প্যারামিটারস
এই ফাংশন একটি প্যারামিটার গ্রহণ করে যা ম্যাচ নম্বর যা কন্টেইনারের সাইজের চেয়ে কম হওয়া উচিত। ম্যাচ নম্বর ০ পুরো ম্যাচ এক্সপ্রেশনকে রিপ্রেজেন্ট করে।
রিটার্ন ভ্যালু
এই ফাংশন অবজেক্টের ম্যাচের সংখ্যার আনসাইনড ইন্টিজার মান রিটার্ন করে।
উদাহরণ
Input: std::smatch; smatch.length(0); Output: 0
উদাহরণ
#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 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