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

C ++STLのmatch_resultsempty()


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

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

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

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

match_results ::empty()関数は、C ++ STLに組み込まれている関数であり、ヘッダーファイルで定義されています。 empty()は、関連付けられているsmatchオブジェクトが空であるか、またはいくつかの一致値が含まれているかどうかを確認します。 empty()は、一致オブジェクトが空であるか一致がない場合にtrueを返し、コンテナーにいくつかの値がある場合、関数はfalseを返します。

構文

smatch_name.empty();

パラメータ

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

戻り値

この関数は、一致オブジェクトが空の場合、またはコンテナに一致がない場合にブール値trueを返します。それ以外の場合、一致オブジェクトに値があるか、使用可能な一致がある場合はfalseを返します。

Input: std::smatch;
   smatch.empty();
Output: true

#include<bits/stdc++.h>
using namespace std;
int main() {
   string str("Tutorials");
   regex R_1("Points.*");
   regex R_2("Tutorials.*");
   smatch Mat_1, Mat_2;
   regex_match(str, Mat_1, R_1);
   regex_match(str, Mat_2, R_2);
   if (Mat_1.empty()) {
      cout<<"String doesn't matches with Regex-1" << endl;
   } else {
      cout << "String matches with Regex-1" << endl;
   }
   if (Mat_2.empty()) {
      cout << "String doesn't matches with Regex-2" << endl;
   } else {
      cout << "String matches with Regex-1" << endl;
   }
   return 0;
}

出力

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

String doesn't matches with Regex-1
String matches with Regex-1

  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() -この関数は、要素をスタックコンテナに挿入するために使用されま