regex_constants 名前空間
正規表現フラグの名前空間です。
構文
namespace regex_constants {
enum syntax_option_type;
enum match_flag_type;
enum error_type;
}
解説
regex_constants
名前空間は、各種のフラグおよび関連するフラグ値をカプセル化します。
名前 | 説明 |
---|---|
error_type | 正規表現の構文エラーを報告するためのフラグです。 |
match_flag_type | 正規表現照合オプションのフラグ。 |
syntax_option_type | 構文オプションを選択するためのフラグ。 |
要件
ヘッダー: <regex>
名前空間: std
regex_constants::error_type
正規表現の構文エラーを報告するためのフラグです。
enum error_type
{ // identify error
error_collate,
error_ctype,
error_escape,
error_backref,
error_brack,
error_paren,
error_brace,
error_badbrace,
error_range,
error_space,
error_badrepeat,
error_complexity,
error_stack,
error_parse,
error_syntax
};
解説
この型は、エラー フラグを保持できるオブジェクトを表す列挙型です。 次に、それぞれのフラグ値を示します。
error_backref
-- 式に正しくない前方参照が存在する
error_badbrace
-- 式が { } 式に正しくない回数を含んでいる
error_badrepeat
-- 繰り返し式 (一般に、'*'、''、'+'、'{' のいずれか) の前に式が指定されていない
error_brace
-- 式で '{' または '}' の対応が正しくない
error_brack
-- 式で '[' または ']' の対応が正しくない
error_collate
-- 式に正しくない照合要素名が存在する
error_complexity
-- 検索式が複雑すぎるために失敗した
error_ctype
-- 式に正しくない文字クラス名が存在する
error_escape
-- 式に正しくないエスケープ シーケンスが存在する
error_paren
-- 式で '(' または ')' の対応が正しくない
error_parse
-- 式の解析に失敗した
error_range
-- 式に正しくない文字範囲指定子が存在する
error_space
-- リソース不足が原因で正規表現の解析に失敗した
error_stack
-- メモリ不足が原因で検索に失敗した
error_syntax
-- 構文エラーが原因で解析に失敗した
error_backref
-- 式に正しくない前方参照が存在する
regex_constants::match_flag_type
正規表現照合オプションのフラグ。
enum match_flag_type
{ // specify matching and formatting rules
match_default = 0x0000,
match_not_bol = 0x0001,
match_not_eol = 0x0002,
match_not_bow = 0x0004,
match_not_eow = 0x0008,
match_any = 0x0010,
match_not_null = 0x0020,
match_continuous = 0x0040,
match_prev_avail = 0x0100,
format_default = 0x0000,
format_sed = 0x0400,
format_no_copy = 0x0800,
format_first_only = 0x1000,
_Match_not_null = 0x2000
};
解説
この型は、テキスト シーケンスを正規表現に照らして照合するときに使用されるオプションと、テキストを置き換えるときに使用される書式設定フラグを表すビットマスク型です。 オプションは |
を使用して連結できます。
照合オプションは次のとおりです。
match_default
match_not_bol
- ターゲット シーケンス内の先頭の位置を行の始まりとして処理しません
match_not_eol
- ターゲット シーケンス内の末尾の次の位置を行の終わりとして処理しません
match_not_bow
- ターゲット シーケンス内の先頭の位置を単語の始まりとして処理しません
match_not_eow
- ターゲット シーケンス内の末尾の次の位置を単語の終わりとして処理しません
match_any
- 複数の一致が可能な場合は、すべての一致が受け入れられます
match_not_null
- 空のサブシーケンスを一致として処理しません
match_continuous
- ターゲット シーケンスの先頭以外で一致を検索しません
match_prev_avail
-- --first
は正しい反復子です。match_not_bol
と match_not_bow
は設定されている場合に無視されます
書式指定フラグは次のとおりです。
format_default
-- ECMAScript 書式規則を使用します
format_sed
-- sed 書式規則を使用します
format_no_copy
-- 正規表現と一致しないテキストをコピーしません
format_first_only
-- 最初の一致の後は一致を検索しません
regex_constants::syntax_option_type
構文オプションを選択するためのフラグ。
enum syntax_option_type
{ // specify RE syntax rules
ECMAScript = 0x01,
basic = 0x02,
extended = 0x04,
awk = 0x08,
grep = 0x10,
egrep = 0x20,
_Gmask = 0x3F,
icase = 0x0100,
nosubs = 0x0200,
optimize = 0x0400,
collate = 0x0800
};
解説
この型は、正規表現をコンパイルするときに使用される言語指定子と構文修飾子を表すビットマスク型です。 オプションは |
を使用して連結できます。 一度に使用できる言語指定子は 1 つだけです。
言語指定子は次のとおりです。
ECMAScript
-- ECMAScript としてコンパイルします
basic
-- BRE としてコンパイルします
extended
-- ERE としてコンパイルします
awk
-- awk としてコンパイルします
grep
-- grep としてコンパイルします
egrep
-- egrep としてコンパイルします
構文修飾子は次のとおりです。
icase
-- 一致で大文字と小文字を区別しません
nosubs
-- 実装でキャプチャ グループの内容を追跡する必要がありません
optimize
-- 実装で正規表現のコンパイル速度よりも、照合の速度を重視する必要があります
collate
-- 一致でロケールを区別します
関連項目
<regex>
regex_error クラス
<regex> 関数
regex_iterator クラス
<regex> 演算子
regex_token_iterator クラス
regex_traits クラス
<regex> typedefs