এই আর্টিকেলে আমরা C++ STL-এ match_results::empty() ফাংশনের কাজ, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।
C++ STL-এ match_results কী?
std::match_results হলো একটি বিশেষ কন্টেইনার-লাইক ক্লাস যা ম্যাচ করা ক্যারেক্টার সিকোয়েন্সের কালেকশন ধারণ করতে ব্যবহৃত হয়। এই কন্টেইনার ক্লাসে একটি রেগেক্স ম্যাচ অপারেশন টার্গেট সিকোয়েন্সের ম্যাচগুলো খুঁজে বের করে।
match_results::empty() কী?
match_results::empty() ফাংশন C++ STL-এ একটি বিল্ট-ইন ফাংশন, যা <regex> হেডার ফাইলে ডিফাইন করা আছে। empty() চেক করে যে সাথে সংশ্লিষ্ট smatch অবজেক্টটি খালি কিনা অথবা কিছু ম্যাচ ভ্যালু আছে কিনা। empty() true রিটার্ন করে যদি ম্যাচ অবজেক্টটি খালি হয় বা কোনো ম্যাচ নেই, যদি কন্টেইনারে কিছু মান থাকে তবে ফাংশনটি false রিটার্ন করবে।
সিনট্যাক্স
smatch_name.empty();
প্যারামিটারস
এই ফাংশন কোনো প্যারামিটার গ্রহণ করে না।
রিটার্ন ভ্যালু
এই ফাংশন বুলিয়ান মান true রিটার্ন করে যদি ম্যাচ অবজেক্টটি খালি হয়, বা কন্টেইনারে কোনো ম্যাচ নেই, অন্যথায় false রিটার্ন করে যদি ম্যাচ অবজেক্টে কিছু মান থাকে বা কিছু ম্যাচ উপলব্ধ থাকে।
উদাহরণ
Input: std::smatch; smatch.empty(); Output: true
উদাহরণ
#include <bits/stdc++.h>
using namespace std;
int main() {
string str("Tutorials");
regex R_1("Points.*");
regex R_2("Tutorials.*");
smatch Mat_1, Mat_2;
regex_match(str, Mat_1, R_1);
regex_match(str, Mat_2, R_2);
if (Mat_1.empty()) {
cout<<"String doesn't matches with Regex-1" << endl;
} else {
cout << "String matches with Regex-1" << endl;
}
if (Mat_2.empty()) {
cout << "String doesn't matches with Regex-2" << endl;
} else {
cout << "String matches with Regex-1" << endl;
}
return 0;
}
আউটপুট
String doesn't matches with Regex-1 String matches with Regex-1