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

C ++ STLのmatch_resultssize()


この記事では、C++STLでのmatch_results::size()関数の動作、構文、および例について説明します。

C ++ STLのmatch_resultsとは何ですか?

std ::match_resultsは、一致する文字シーケンスのコレクションを保持するために使用される、特殊なコンテナのようなクラスです。このコンテナクラスでは、正規表現の一致操作により、ターゲットシーケンスの一致が検出されます。

match_results ::size()とは何ですか?

match_results ::size()関数は、C ++ STLに組み込まれている関数であり、ヘッダーファイルで定義されています。 size()は、それに関連付けられたmatch_resultsオブジェクトの一致数を取得するために使用されます。この関数は、関数に関連付けられたオブジェクトに存在する一致と部分一致の数であるsize_type値を返します。

構文

smatch_name.size();

パラメータ

この関数はパラメータを受け入れません。

戻り値

この関数は、size_typeサイズ、またはmatch_resultsオブジェクトの一致とサブ一致の数を返します。

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

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

出力

上記のコードを実行すると、次の出力が生成されます-

Size is: 3

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

出力

上記のコードを実行すると、次の出力が生成されます-

length of 25
length of 9
length of 16

  1. C ++ STLでmax_size()をマップします

    この記事では、C++STLでのmap::max_size()関数の動作、構文、および例について説明します。 C ++ STLのマップとは何ですか? マップは連想コンテナであり、キー値とマップされた値の組み合わせによって形成された要素を特定の順序で格納するのを容易にします。マップコンテナでは、データは常に関連するキーを使用して内部的に並べ替えられます。マップコンテナの値には、一意のキーからアクセスします。 map ::max_size()とは何ですか? map ::max_size()関数は、C ++ STLに組み込まれている関数であり、ヘッダーファイルで定義されています。 max_si

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

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