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

C ++のmatch_resultsprefix()およびsuffix()


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

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

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

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

match_results ::prefix()関数は、C ++ STLに組み込まれている関数であり、ヘッダーファイルで定義されています。 prefix()は、関数に関連付けられたオブジェクトの先行するmatch_resultsを取得するために使用されます。この関数は、match_resultsオブジェクトの後続のシーケンスの参照を返します。

構文

match_results.prefix();

パラメータ

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

戻り値

この関数は、一致シーケンスの前にある文字列またはシーケンスの定数参照を返します。

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

prefix()

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

出力

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

String prefix is : Tutorials

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

match_results ::Supplement()関数は、C ++ STLに組み込まれている関数であり、ヘッダーファイルで定義されています。 Supplement()は、関数に関連付けられたオブジェクトの後続のmatch_resultsを取得するために使用されます。この関数は、match_resultsオブジェクトの後続のシーケンスの参照を返します。

構文

match_results.suffix();

パラメータ

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

戻り値

この関数は、一致シーケンスに続く文字列またはシーケンスの定数参照を返します。

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

サフィックス()

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

出力

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

String prefix is : is the best

  1. C ++のプレフィックス演算子とポストフィックス演算子の違いは何ですか?

    プレフィックスバージョン(つまり、++ i)では、iの値がインクリメントされ、式の値はiの新しい値になります。したがって、基本的には、最初にインクリメントしてから、式に値を割り当てます。 postfixバージョン(つまり、i ++)では、iの値は増分されますが、式の{value|worth}はiの元の値です。したがって、基本的には、最初に式に値を割り当ててから、変数をインクリメントします。 理解を深めるためにいくつかのコードを見てみましょう- 例 #include<iostream> using namespace std; int main() {    

  2. 文字列のサフィックスとプレフィックスがPythonの回文であるかどうかを確認します

    文字列sがあるとすると、その文字列の回文が接頭辞と接尾辞の部分文字列として使用されているかどうかを確認する必要があります。 したがって、入力がs =levelishighforracecarのような場合、回文の接頭辞と接尾辞がそれぞれ「level」と「racecar」であるため、出力はTrueになります。 これを解決するには、次の手順に従います- l:=sのサイズ 2からl+2の範囲のiについては、 インデックスiまでのsの部分文字列が回文である場合、 ループから抜け出す iが(l + 1)と同じ場合、 Falseを返す 2からl+2の範囲のiについては、 インデックス(l-