Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++ STL의 match_results length()

<시간/>

이 기사에서는 C++ STL에서 match_results::length() 함수의 작동, 구문 및 예제에 대해 논의할 것입니다.

C++ STL에서 match_results란 무엇입니까?

std::match_results는 일치하는 문자 시퀀스 모음을 보유하는 데 사용되는 특수 컨테이너 유사 클래스입니다. 이 컨테이너 클래스에서 정규식 일치 작업은 대상 시퀀스의 일치 항목을 찾습니다.

match_results::length()란 무엇입니까?

match_results::length() 함수는 헤더 파일에 정의된 C++ STL의 내장 함수입니다. length()는 관련된 match_results 객체에서 n번째 일치의 길이를 확인하는 데 사용됩니다. length()는 n번째 일치의 길이를 확인하기 위해 match_results::size()보다 작아야 하는 일치 번호인 매개변수를 허용합니다.

구문

smatch_name.length(unsigned int num);

매개변수

이 함수는 컨테이너 크기보다 작아야 하는 일치 번호인 하나의 매개변수를 허용합니다. 일치 번호 0은 전체 일치 표현식을 나타냅니다.

반환 값

이 함수는 개체에서 일치하는 수의 부호 없는 정수 값을 반환합니다.

Input: std::smatch;
   smatch.length(0);
Output: 0

#include <bits/stdc++.h>
using namespace std;
int main() {
   string str = "TutorialsPoint";
   regex R("(Tutorials)(.*)");
   smatch Mat;
   regex_match(str, Mat, R);
   for (int i = 0; i < Mat.size(); i++) {
      cout<<"Match is : " << Mat[i]<< endl;
   }
   return 0;
}

출력

위의 코드를 실행하면 다음과 같은 출력이 생성됩니다 -

Match is : TutorialsPoint
Match is : Tutorials
Match is : Point

#include <bits/stdc++.h>
using namespace std;
int main() {
   string sr = "Tutorials Point";
   regex Re("(Tutorials)(.*)");
   smatch Mat;
   regex_match(sr, Mat, Re);
   int len = 0;
   string str;
   for (int i = 1; i < Mat.size(); i++) {
      if (Mat.length(i) > len) {
         str = Mat[i];
         len = Mat.length(i);
      }
   }
   cout<<"Match length is of: " << len;
   return 0;
}

출력

위의 코드를 실행하면 다음과 같은 출력이 생성됩니다 -

Match length is of: 9