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

kích thước match_results () 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 ::size () 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 ::size () là gì?

Hàm match_results ::size () là một hàm có sẵn trong C ++ STL, được định nghĩa trong tệp tiêu đề . size () được sử dụng để lấy số lượng kết quả phù hợp của đối tượng match_results được liên kết với nó. Hàm này trả về giá trị size_type là số kết quả phù hợp và kết hợp phụ có trong đối tượng được liên kết với hàm.

Cú pháp

smatch_name.size();

Tham số

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

Giá trị trả về

Hàm này trả về kích thước size_type hoặc số lượng kết quả phù hợp và kết quả phù hợp con của đối tượng match_results.

Ví dụ

Input: string str = "Tutorials Point";
   regex R("(Tutorials)(.*)");
   smatch Mat;
   regex_match(str, Mat, R);
   Mat.size();
Output: 3

Ví dụ

#include <bits/stdc++.h>
using namespace std;
int main() {
   string str = "Tutorials Point";
   regex R("(Tutorials)(.*)");
   smatch Mat;
   regex_match(str, Mat, R);
   cout<<"Size is: " << Mat.size() << 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 -

Size is: 3

Ví dụ

#include <bits/stdc++.h>
using namespace std;
int main() {
   string str = "Tutorials Point Tutorials";
   regex R("(Tutorials)(.*)");
   smatch Mat;
   regex_match(str, Mat, R);
   for (int i = 0; i < Mat.size(); i++) {
      cout <<"length of "<<Mat.length(i)<< 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 -

length of 25
length of 9
length of 16