Sdílet prostřednictvím


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>

Namespace: 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