std::basic_regex
From cppreference.com
| ヘッダ <regex> で定義 |
||
| template< class CharT, |
(C++11以降) | |
クラステンプレート basic_regex は正規表現を保持するための一般的なフレームワークを提供します。
一般的な文字型のためにいくつかの typedef が提供されています
| ヘッダ
<regex> で定義 | |
| 型 | 定義 |
std::regex
|
std::basic_regex<char> |
std::wregex
|
std::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オブジェクトを破棄する (公開メンバ関数) | |
| 内容を代入する (公開メンバ関数) | |
| 内容を代入する (公開メンバ関数) | |
監視 | |
| 正規表現内のマークされた部分式の数を返す (公開メンバ関数) | |
| 構文フラグを返す (公開メンバ関数) | |
ロケール | |
| ロケール情報を取得する (公開メンバ関数) | |
| ロケール情報を設定する (公開メンバ関数) | |
変更 | |
| 内容を交換する (公開メンバ関数) | |
定数 | |
| 文法オプション | 効果 |
ECMAScript
|
修正ECMAScript正規表現文法を使用する。 |
basic
|
基本POSIX正規表現文法を使用する (文法のドキュメント)。 |
extended
|
拡張POSIX正規表現文法を使用する (文法のドキュメント)。 |
awk
|
POSIXのawkユーティリティで使用される正規表現文法を使用する (文法のドキュメント)。 |
grep
|
POSIXのgrepユーティリティで使用される正規表現文法を使用する。これは事実上、basicオプションに加えて、選択(alternation)の区切り文字として改行 '\n' を追加したものと同じである。 |
egrep
|
POSIXのgrepユーティリティで-Eオプションを付けた場合に使用される正規表現文法を使用する。これは事実上、extendedオプションに加えて、選択(alternation)の区切り文字として '|' に加えて改行 '\n' を追加したものと同じである。 |
| 文法のバリエーション | 効果 |
icase
|
文字のマッチングを大文字小文字を区別せずに行う。 |
nosubs
|
マッチングを実行する際、すべてのマークされた部分式 (expr) はマークされない部分式 (?:expr) として扱われる。指定された std::regex_match 構造体にはマッチは保存されず、mark_count() はゼロになる。 |
optimize
|
正規表現エンジンに対し、構築が遅くなる可能性を犠牲にしてマッチングを高速化するよう指示する。例えば、これは非決定性FSAを決定性FSAに変換することを意味する場合がある。 |
collate
|
"[a-b]" 形式の文字範囲はロケールに依存するようになる。 |
multiline (C++17) |
ECMAScriptエンジンが選択されている場合、^が行の先頭にマッチし、$が行の末尾にマッチするように指定する。 |
ECMAScript、basic、extended、awk、grep、egrepのうち、文法オプションは最大1つしか選択できない。文法が選択されなかった場合、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 アルゴリズムを特殊化する (関数テンプレート) |