regex_constants – obor názvů
Obor názvů pro příznaky regulárního výrazu
Syntaxe
namespace regex_constants {
enum syntax_option_type;
enum match_flag_type;
enum error_type;
}
Poznámky
Obor názvů regex_constants
zapouzdřuje několik typů příznaků a jejich přidružené hodnoty příznaku.
Název | Popis |
---|---|
error_type | Příznaky pro hlášení chyb syntaxe regulárních výrazů |
match_flag_type | Příznaky pro možnosti porovnávání regulárních výrazů |
syntax_option_type | Příznaky pro výběr možností syntaxe |
Požadavky
Header:<regex>
Obor názvů: std
regex_constants::error_type
Příznaky pro hlášení chyb syntaxe regulárních výrazů
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
};
Poznámky
Typ je výčtový typ, který popisuje objekt, který může obsahovat příznaky chyb. Jedinečné hodnoty příznaku jsou:
error_backref
-- výraz obsahoval neplatný zpětný odkaz.
error_badbrace
-- výraz obsahoval neplatný počet ve výrazu { }
error_badrepeat
-- výraz repeat (jeden z "*", "", "+", '{' ve většině kontextů) nebyl před výrazem
error_brace
-- výraz obsahoval chybějící souhru {nebo '}'.
error_brack
-- výraz obsahoval chybějící součtené "[" nebo "]".
error_collate
-- výraz obsahoval neplatný název kompletujícího prvku.
error_complexity
-- Pokus o shodu selhal, protože byl příliš složitý.
error_ctype
-- výraz obsahoval neplatný název třídy znaků.
error_escape
-- výraz obsahoval neplatnou řídicí sekvenci.
error_paren
-- výraz obsahoval chybějící "(" nebo ")"
error_parse
-- výraz se nepodařilo analyzovat.
error_range
-- výraz obsahoval neplatný specifikátor rozsahu znaků.
error_space
-- Analýza regulárního výrazu se nezdařila, protože nebylo k dispozici dostatek prostředků.
error_stack
-- Pokus o shodu se nezdařil, protože není k dispozici dostatek paměti.
error_syntax
- Analýza selhala při chybě syntaxe.
error_backref
-- výraz obsahoval neplatný zpětný odkaz.
regex_constants::match_flag_type
Příznaky pro možnosti porovnávání regulárních výrazů
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
};
Poznámky
Typ je bitové maskování, který popisuje možnosti, které se mají použít při porovnávání textové sekvence s regulárním výrazem a formátovacími příznaky, které se mají použít při nahrazení textu. Možnosti lze kombinovat s |
.
Možnosti shody:
match_default
match_not_bol
-- nezacházejte s první pozicí v cílové sekvenci jako na začátku řádku.
match_not_eol
-- nezacházejte s minulým umístěním konce v cílové sekvenci jako s koncem řádku.
match_not_bow
-- nezacházejte s první pozicí v cílové sekvenci jako na začátku slova.
match_not_eow
-- nezacházejte s minulým koncem pozice v cílové sekvenci jako na konci slova.
match_any
-- Pokud je možné, že jakákoli shoda je přijatelná, je-li více než jedna shoda přijatelná.
match_not_null
-- nezacházejte s prázdnou dílčí sekvencí jako shodou.
match_continuous
-- nehledejte jiné shody než na začátku cílové sekvence.
match_prev_avail
-- --first
je platný iterátor; ignorovat match_not_bol
a match_not_bow
pokud je nastavená
Příznaky formátu jsou:
format_default
-- použití pravidel formátu ECMAScript
format_sed
-- použít pravidla formátu sedu
format_no_copy
-- nekopírujte text, který neodpovídá regulárnímu výrazu.
format_first_only
-- nehledejte shody po prvním
regex_constants::syntax_option_type
Příznaky pro výběr možností syntaxe
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
};
Poznámky
Typ je bitová maska, který popisuje specifikátory jazyka a modifikátory syntaxe, které se mají použít při kompilaci regulárního výrazu. Možnosti lze kombinovat s |
. Najednou by se nemělo používat více než jeden specifikátor jazyka.
Specifikátory jazyka jsou:
ECMAScript
-- kompilace jako ECMAScript
basic
-- kompilace jako BRE
extended
-- kompilace jako ERE
awk
-- kompilace jako awk
grep
-- kompilace jako grep
egrep
-- kompilace jako egrep
Modifikátory syntaxe jsou:
icase
-- nerozlišují malá a velká písmena
nosubs
-- implementaton nemusí sledovat obsah skupin zachycení.
optimize
-- implementace by měla zdůraznit rychlost porovnávání, nikoli rychlost kompilace regulárních výrazů.
collate
-- nastavení shody citlivé na národní prostředí
Viz také
<regex>
regex_error – třída
<funkce regulárních výrazů>
regex_iterator – třída
<Operátory regulárních výrazů>
regex_token_iterator – třída
regex_traits – třída
<regex> typedefs