Computer >> Máy Tính >  >> Lập trình >> C ++

match_results trống () trong C ++ STL

Trong bài viết này, chúng ta sẽ thảo luận về cách làm việc, cú pháp và các ví dụ của hàm match_results ::blank () trong C ++ STL.

match_results trong C ++ STL là gì?

std ::match_results là một lớp giống như vùng chứa chuyên biệt được sử dụng để lưu trữ tập hợp các chuỗi ký tự được so khớp. Trong lớp vùng chứa này, thao tác so khớp regex tìm các kết quả phù hợp của chuỗi đích.

match_results ::blank () là gì?

Hàm match_results ::blank () là một hàm có sẵn trong C ++ STL, được định nghĩa trong tệp tiêu đề . void () kiểm tra xem đối tượng smatch được liên kết có trống hay có một số giá trị khớp trong đó hay không. void () trả về true nếu đối tượng trùng khớp trống hoặc không có kết quả phù hợp nào, nếu vùng chứa có một số giá trị thì hàm sẽ trả về false.

Cú pháp

smatch_name.empty();

Tham số

Hàm này không chấp nhận tham số.

Giá trị trả về

Hàm này trả về giá trị Boolean true nếu đối tượng so khớp trống hoặc không có kết quả phù hợp nào trong vùng chứa, hàm khác trả về false nếu đối tượng so khớp có một số giá trị hoặc có một số kết quả phù hợp.

Ví dụ

Input: std::smatch;
   smatch.empty();
Output: true

Ví dụ

#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;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

String doesn't matches with Regex-1
String matches with Regex-1