Dela via


regex_constants namnområde

Namnområde för reguljära uttrycksflaggor.

Syntax

namespace regex_constants {
    enum syntax_option_type;
    enum match_flag_type;
    enum error_type;
}

Anmärkningar

Namnområdet regex_constants kapslar in flera flaggtyper och deras associerade flaggvärden.

Namn Description
error_type Flaggor för rapportering av syntaxfel för reguljära uttryck.
match_flag_type Flaggor för matchningsalternativ för reguljära uttryck.
syntax_option_type Flaggor för att välja syntaxalternativ.

Kravspecifikation

Rubrik:<regex>

Namnområde: std

regex_constants::error_type

Flaggor för rapportering av syntaxfel för reguljära uttryck.

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
    };

Anmärkningar

Typen är en uppräkningstyp som beskriver ett objekt som kan innehålla felflaggor. De distinkta flaggvärdena är:

error_backref -- uttrycket innehöll en ogiltig referens för bakåt

error_badbrace -- uttrycket innehöll ett ogiltigt antal i ett { } uttryck

error_badrepeat - ett upprepningsuttryck (ett av '*', '', '+', '{' i de flesta kontexter) föregicks inte av ett uttryck

error_brace - uttrycket innehöll ett omatchat {- eller }-uttryck

error_brack - uttrycket innehöll ett omatchat [" eller "]"

error_collate - uttrycket innehöll ett ogiltigt sorteringselementnamn

error_complexity – ett matchningsförsök misslyckades eftersom det var för komplext

error_ctype - uttrycket innehöll ett ogiltigt teckenklassnamn

error_escape -- uttrycket innehöll en ogiltig escape-sekvens

error_paren – uttrycket innehöll ett icke-matchat "(" eller ")"

error_parse - uttrycket kunde inte parsas

error_range - uttrycket innehöll en ogiltig teckenintervallsspecificerare

error_space - det gick inte att parsa ett reguljärt uttryck eftersom det inte fanns tillräckligt med resurser tillgängliga

error_stack – ett matchningsförsök misslyckades eftersom det inte fanns tillräckligt med minne tillgängligt

error_syntax - parsning misslyckades vid ett syntaxfel

error_backref -- uttrycket innehöll en ogiltig referens för bakåt

regex_constants::match_flag_type

Flaggor för matchningsalternativ för reguljära uttryck.

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
    };

Anmärkningar

Typen är en bitmasktyp som beskriver alternativ som ska användas när du matchar en textsekvens mot ett reguljärt uttryck och formatera flaggor som ska användas när text ersätts. Alternativ kan kombineras med |.

Matchningsalternativen är:

match_default

match_not_bol - behandla inte den första positionen i målsekvensen som början på en rad

match_not_eol -- behandla inte den förgångna positionen i målsekvensen som slutet på en rad

match_not_bow -- behandla inte den första positionen i målsekvensen som början på ett ord

match_not_eow -- behandla inte den tidigare positionen i målsekvensen som slutet av ett ord

match_any - om fler än en matchning är möjlig kan en matchning accepteras

match_not_null -- behandla inte en tom delmängd som en matchning

match_continuous - sök inte efter andra matchningar än i början av målsekvensen

match_prev_avail -- --first är en giltig iterator. ignorera match_not_bol och match_not_bow om inställt

Formatflaggorna är:

format_default – använda ECMAScript-formatregler

format_sed -- använd regler för sed-format

format_no_copy – kopiera inte text som inte matchar det reguljära uttrycket

format_first_only -- sök inte efter matchningar efter den första

regex_constants::syntax_option_type

Flaggor för att välja syntaxalternativ.

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
    };

Anmärkningar

Typen är en bitmasktyp som beskriver språkspecificerare och syntaxmodifierare som ska användas vid kompilering av ett reguljärt uttryck. Alternativ kan kombineras med |. Högst en språkspecificerare ska användas i taget.

Språkspecificerarna är:

ECMAScript -- kompilera som ECMAScript

basic -- kompilera som BRE

extended -- kompilera som ERE

awk -- kompilera som awk

grep -- kompilera som grep

egrep -- kompilera som egrep

Syntaxmodifierarna är:

icase -- gör matchningar skiftlägesokänsliga

nosubs – implementeringen behöver inte hålla reda på innehållet i insamlingsgrupper

optimize – implementeringen bör betona matchningshastigheten snarare än hastigheten för kompilering av reguljära uttryck

collate -- gör matchningar språkkänsliga

Se även

<regex>
regex_error-klass
<regex-funktioner>
regex_iterator-klass
<regex-operatorer>
regex_token_iterator-klass
regex_traits-klass
<regex> typedefs