Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

match_results ว่างเปล่า () ใน C ++ STL


ในบทความนี้ เราจะพูดถึงการทำงาน ไวยากรณ์ และตัวอย่างของฟังก์ชัน match_results::empty() ใน C++ STL

match_results ใน C++ STL คืออะไร

std::match_results เป็นคลาสที่มีลักษณะเหมือนคอนเทนเนอร์พิเศษ ซึ่งใช้เพื่อเก็บคอลเลกชันของลำดับอักขระที่ตรงกัน ในคลาสคอนเทนเนอร์นี้ การดำเนินการจับคู่ regex จะค้นหารายการที่ตรงกันของลำดับเป้าหมาย

match_results::empty() คืออะไร

ฟังก์ชัน match_results::empty() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งกำหนดไว้ในไฟล์ส่วนหัว empty() ตรวจสอบว่าวัตถุ smatch ที่เกี่ยวข้องนั้นว่างเปล่าหรือมีค่าที่ตรงกันอยู่หรือไม่ empty() คืนค่า จริง หากวัตถุที่ตรงกันว่างเปล่าหรือไม่มีรายการที่ตรงกัน หากคอนเทนเนอร์มีค่าบางค่า ฟังก์ชันจะคืนค่าเท็จ

ไวยากรณ์

smatch_name.empty();

พารามิเตอร์

ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ

คืนค่า

ฟังก์ชันนี้จะคืนค่าบูลีนเป็น "จริง" หากวัตถุที่ตรงกันว่างเปล่า หรือไม่มีรายการที่ตรงกันในคอนเทนเนอร์ มิฉะนั้นจะคืนค่า "เท็จ" หากวัตถุที่ตรงกันมีค่าบางค่าหรือมีรายการที่ตรงกันบางส่วน

ตัวอย่าง

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