正規表現で文字列検索(部分一致/完全一致)【regex_search/regex_match】regexヘッダーのstd::regex_search関数/std::regex_match関数を用いることで、正規表現による部分一致/完全一致を判定することができます。true第一引数に検索対象の文字列を指定し、第二引数に判定したい正規表現のパターンをstd::regex(文字列)という形で指定します。部分一致(std::regex_search)完全一致(std::regex_match)大文字/小文字の区別(std::regex::icase)正規表現機能の応用(ヒアドキュメント、イテレータ、部分検索)一致した文字列の抽出や出現位置の判定を行いたい場合には、以下のページを参考にしてください。正規表現による検索文字列の抽出/出現位置の判定|std::match_results部分一致(std::regex_search)regex_search関数は、検索先の文字列に正規表現パターンが含まれているかどうかを判定します。一般的な検索用途に利用できます。JavaScriptにおける部分マッチの処理/./.test("ab")に相当します。true完全一致(std::regex_match)regex_match関数は、検索先の文字列全体が正規表現パターンに一致するかどうかを判定します。完全なパターンマッチを判定する用途に利用できます。JavaScriptにおける全文一致の処理/^..$/.test("ab")に相当します。true大文字/小文字の区別(std::regex::icase)大文字と小文字の区別を行わない場合には、std::regexの第二引数にstd::regex::icaseフラグを指定します。trueicaseはstd::regex_constants::syntax_option_type列挙体型の定数値として定義されています。同等の値はstd::regex_constants::icaseと言う形で取得することもできます。std::wregex::icase));正規表現機能の応用(ヒアドキュメント、イテレータ、部分検索)R"()"で生文字リテラルによるヒアドキュメントを表現することもできます。これによって\や"をエスケープ記号無しに記述することが可能となります。trueイテレータを指定することで、コンテナクラスへの検索も可能となります。trueイテレータで特定の範囲を指定することで、部分文字列の検索も可能となります。truestd::basic_regex<T>という形で特定の型の文字列に対応することも可能です。