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

tiền tố match_results () và hậu tố () trong C ++

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à ví dụ của các hàm match_results ::prefix () và match_results ::Suffix () 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 ::prefix () là gì?

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

Cú pháp

match_results.prefix();

Tham số

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

Giá trị trả về

Hàm này trả về tham chiếu không đổi của chuỗi hoặc chuỗi trước chuỗi đối sánh.

Ví dụ

Input: string str = "Tutorials Points";
   regex R("Points");
   smatch Mat;
   regex_search(str, Mat, R);
   Mat.prefix();
Output: Tutorials

tiền tố ()

Ví dụ

#include <bits/stdc++.h>
using namespace std;
int main() {
   string str = "Tutorials Points";
   regex R("Points");
   smatch Mat;
   regex_search(str, Mat, R);
   cout<<"String prefix is : ";
   if (!Mat.empty()) {
      cout << Mat.prefix();
   }
   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 prefix is : Tutorials

match_results ::hậu tố () là gì?

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

Cú pháp

match_results.suffix();

Tham số

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

Giá trị trả về

Hàm này trả về tham chiếu không đổi của chuỗi hoặc chuỗi kế tiếp chuỗi đối sánh.

Ví dụ

Input: std::string str("Tutorials Points is the best");
   std::smatch Mat;
   std::regex re("Points");
   std::regex_match ( str, Mat, re );
   Mat.suffix();
Output: is the best

hậu tố ()

Ví dụ

#include <bits/stdc++.h>
using namespace std;
int main() {
   string str = "Tutorials Points is the best";
   regex R("Points");
   smatch Mat;
   regex_search(str, Mat, R);
   cout<<"String prefix is : ";
   if (!Mat.empty()) {
      cout << Mat.suffix();
   }
   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 prefix is : is the best