C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C ++STLのmatch_resultslength()


この記事では、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);

パラメータ

この関数は、コンテナーのサイズよりも小さい必要がある一致番号である1つのパラメーターを受け入れます。一致番号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

  1. C ++ STL(3)でのsetとunordered_set

    この記事では、C ++ STLで設定されているものとunordered_setを理解し、それらの違いについて理解しましょう。 何が設定されていますか? セット Key型の一意のオブジェクトのソートされたセットを含む連想コンテナです。各要素は1回だけ発生する可能性があるため、重複は許可されません。ユーザーは要素を任意の順序で挿入してセットを作成できます。セットは並べ替えられたデータをユーザーに返します。つまり、セットにはユーザーから抽出されたデータを並べ替えるための定義が含まれています。 セットを使用できる主な理由は − 並べ替えられたデータの場合 必須 重複する値が必要ない場

  2. C ++ STL(3.5)でスタック

    C ++ STLでは、スタックはLIFO構造として実装されるコンテナーとして使用されます。 LIFOは後入れ先出しを意味します。 Stackは、本が上下に並べられた本の山と見なすことができ、最後に挿入された本が最初に削除されるため、LIFO構造と呼ばれます。 スタックに関連付けられている操作は- Top() -この関数は、スタックの最上位要素への参照を返します。 構文 --name_of_stack.top() パラメータ -パラメータなし 戻り値 -スタックコンテナの最上位要素への参照 Push() -この関数は、要素をスタックコンテナに挿入するために使用されま