std::basic_regex
提供: cppreference.com
ヘッダ <regex> で定義 | ||
template< class CharT, | (C++11およびそれ以降) | |
クラステンプレート basic_regex
は正規表現を保持するための汎用フレームワークを提供します。
一般的な文字型に対していくつかの特殊化が提供されます。
ヘッダ <regex> で定義 | |
型 | 定義 |
regex | basic_regex<char> |
wregex | basic_regex<wchar_t> |
目次 |
[編集]メンバ型
メンバ型 | 定義 |
value_type | CharT |
traits_type | Traits |
string_type | Traits::string_type |
locale_type | Traits::locale_type |
flag_type | std::regex_constants::syntax_option_type |
[編集]メンバ関数
regex オブジェクトを構築します (パブリックメンバ関数) | |
regex オブジェクトを破棄します (パブリックメンバ関数) | |
内容を代入します (パブリックメンバ関数) | |
内容を代入します (パブリックメンバ関数) | |
観察 | |
正規表現内のマーク付き部分表現の数を返します (パブリックメンバ関数) | |
構文フラグを返します (パブリックメンバ関数) | |
ロケール | |
ロケール情報を取得します (パブリックメンバ関数) | |
ロケール情報を設定します (パブリックメンバ関数) | |
変更 | |
内容を入れ替えます (パブリックメンバ関数) | |
定数 |
値 | 効果 |
icase | 大文字小文字を考慮せずに文字のマッチングを行います。 |
nosubs | マッチを行うとき、すべてのマーク付き部分表現 (expr) を、マークなしの部分表現 (?:expr) として扱います。 供給された std::regex_match 構造体に格納されるマッチはなく、 mark_count() はゼロになります。 |
optimize | 構築が遅くなる可能性があっても、マッチングを高速化するよう、正規表現エンジンに指示します。 例えば、これは非決定的 FSA を決定的 FSA に変換することを意味するかもしれません。 |
collate | "[a-b]" 形式の文字範囲をロケール対応にします。 |
multiline (C++17) | ECMAScript エンジンが選択された場合、 ^ を行頭にマッチさせ、 $ を行末にマッチさせます。 |
ECMAScript | 修正 ECMAScript 正規表現文法を使用します。 |
basic | 基本 POSIX 正規表現文法を使用します (文法のドキュメント)。 |
extended | 拡張 POSIX 正規表現文法を使用します (文法のドキュメント)。 |
awk | POSIX の awk ユーティリティで使用される正規表現文法を使用します (文法のドキュメント)。 |
grep | POSIX の grep ユーティリティで使用される正規表現文法を使用します。 これは実質的に代替区切り文字として改行 '\n' を追加した basic オプションと同じです。 |
egrep | POSIX の grep ユーティリティで -E オプションを付けたときに使用される正規表現文法を使用します。 これは実質的に代替区切り文字として '|' に加えて改行 '\n' を追加した extended オプションと同じです。 |
ECMAScript
、basic
、extended
、awk
、grep
、egrep
のうち高々ひとつの文法オプションだけを選択できます。 文法を選択しない場合は ECMAScript
が選択されたと仮定されます。 他のオプションは修飾子として働きます。 例えば std::regex("meow", std::regex::icase) は std::regex("meow", std::regex::ECMAScript|std::regex::icase) と同等です。
basic_regex
のメンバ定数は名前空間 std::regex_constants
で定義されている syntax_option_type 定数の複製です。
[編集]非メンバ関数
(C++11) | std::swap アルゴリズムの特殊化 (関数テンプレート) |