<regex>

正規表現 (C++) を解析するクラス テンプレートと、正規表現オブジェクトに一致するテキストを検索するクラス テンプレートおよび関数を定義します。

構文

#include <regex>

解説

正規表現オブジェクトを作成するには、クラス テンプレート basic_regex クラスを使用するか、これを特化した regexwregexregex_constants::syntax_option_type 型の構文フラグと一緒に使用します。

正規表現オブジェクトと一致するテキストを検索するには、テンプレート関数 regex_matchregex_searchregex_constants::match_flag_type 型の一致フラグと一緒に使用します。 これらの関数は、クラス テンプレート match_results クラスと、これを特化した cmatchwcmatchsmatchwsmatch を、クラス テンプレート sub_match クラスと、これを特化した csub_matchwcsub_matchssub_matchwssub_match と一緒に使用して結果を返します。

正規表現オブジェクトと一致するテキストを置換するには、テンプレート関数 regex_replaceregex_constants::match_flag_type 型の一致フラグと一緒に使用します。

正規表現オブジェクトとの複数の一致を反復処理するには、クラス テンプレート regex_iterator クラスregex_token_iterator クラスを使用するか、これらを特殊化した cregex_iteratorsregex_iteratorwcregex_iteratorwsregex_iteratorcregex_token_iteratorsregex_token_iteratorwcregex_token_iteratorwsregex_token_iterator のいずれか 1 つを、regex_constants::match_flag_type 型の一致フラグと一緒に使用します。

正規表現の文法の詳細を変更するには、正規表現の特徴を実装するクラスを記述します。

クラス

クラス 説明
basic_regex 正規表現をラップします。
match_results サブマッチのシーケンスを保持します。
regex_constants 各種の定数を保持します。
regex_error 無効な正規表現を通知します。
regex_iterator 一致した結果を反復処理します。
regex_traits 照合する要素の特性を記述します。
regex_traits<char> 照合する char の特性を記述します。
regex_traits<wchar_t> 照合する wchar_t の特性を記述します。
regex_token_iterator サブマッチを反復処理します。
sub_match サブマッチを記述します。

型定義

名前 説明
cmatch char match_resultsの型定義。
cregex_iterator char regex_iteratorの型定義。
cregex_token_iterator char regex_token_iteratorの型定義。
csub_match char sub_matchの型定義。
regex char basic_regexの型定義。
smatch string match_resultsの型定義。
sregex_iterator string regex_iteratorの型定義。
sregex_token_iterator string regex_token_iteratorの型定義。
ssub_match string sub_matchの型定義。
wcmatch wchar_t match_resultsの型定義。
wcregex_iterator wchar_t regex_iteratorの型定義。
wcregex_token_iterator wchar_t regex_token_iteratorの型定義。
wcsub_match wchar_t sub_matchの型定義。
wregex wchar_t basic_regexの型定義。
wsmatch wstring match_resultsの型定義。
wsregex_iterator wstring regex_iteratorの型定義。
wsregex_token_iterator wstring regex_token_iteratorの型定義。
wssub_match wstring sub_matchの型定義。

関数

関数 説明
regex_match 正規表現と完全に一致します。
regex_replace 一致した正規表現を置換します。
regex_search 正規表現との一致を検索します。
swap basic_regex または match_results オブジェクトをスワップします。

演算子

演算子 説明
operator== さまざまなオブジェクトが等しいかどうかの比較
operator!= さまざまなオブジェクトが等しくないかどうかの比較
operator< さまざまなオブジェクトが他方より小さいかどうかの比較
operator\<= さまざまなオブジェクトが他方以下かどうかの比較
operator> さまざまなオブジェクトが他方より大きいかどうかの比較
operator>= さまざまなオブジェクトが他方以上かどうかの比較
operator<< ストリームに sub_match を挿入します。

関連項目

正規表現 (C++)
regex_constants クラス
regex_error クラス
<regex> 関数
regex_iterator クラス
<regex> 演算子
regex_token_iterator クラス
regex_traits クラス
<regex> typedefs