Partager via


regex_constants, espace de noms

Espace de noms des indicateurs d'expression régulière.

Syntaxe

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

Notes

L'espace de noms regex_constants inclut plusieurs types d'indicateurs et les valeurs qui leur sont associées.

Nom Description
error_type Indicateurs pour signaler les erreurs de syntaxe des expressions régulières.
match_flag_type Indicateurs des options de correspondance d’expression régulière.
syntax_option_type Indicateurs pour la sélection des options de syntaxe.

Spécifications

Header :<regex>

Espace de noms : std

regex_constants ::error_type

Indicateurs pour signaler les erreurs de syntaxe des expressions régulières.

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

Notes

Le type est un type énuméré qui décrit un objet pouvant stocker des indicateurs d’erreur. Les valeurs distinctes des indicateurs sont :

error_backref : l’expression contient une référence arrière non valide

error_badbrace : l’expression contient un nombre non valide dans une expression { }

error_badrepeat : une expression de répétition (« * », « ? », « + », « { » dans la plupart des contextes) n’est pas précédée d’une expression

error_brace : l’expression contient une accolade « { » ou « } » sans correspondance

error_brack : l’expression contient un crochet « [ » ou « ] » sans correspondance

error_collate : l’expression contient un nom d’élément de classement non valide

error_complexity : une tentative de mise en correspondance a échoué, car elle était trop complexe

error_ctype : l’expression contient un nom de classe de caractères non valide

error_escape : l’expression contient une séquence d’échappement non valide

error_paren : l’expression contient une parenthèse « ( » ou « ) » sans correspondance

error_parse : l’expression n’a pas pu être analysée

error_range : l’expression contient un spécificateur de plage de caractères non valide

error_space : l’analyse d’une expression régulière a échoué, car il n’y avait pas suffisamment de ressources disponibles

error_stack : une tentative de mise en correspondance a échoué, car il n’y avait pas suffisamment de mémoire disponible

error_syntax : échec de l’analyse sur une erreur de syntaxe

error_backref : l’expression contient une référence arrière non valide

regex_constants ::match_flag_type

Indicateurs des options de correspondance d’expression régulière.

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

Notes

Le type est un type de masque de bits qui décrit les options à utiliser durant la mise en correspondance d’une séquence de texte par rapport à une expression régulière, ainsi que les indicateurs de format à utiliser durant le remplacement de texte. Vous pouvez combiner des options avec |.

Options de correspondance :

match_default

match_not_bol : ne pas considérer la première position dans la séquence cible comme le début d’une ligne

match_not_eol : ne pas considérer la position située après la fin dans la séquence cible comme la fin d’une ligne

match_not_bow : ne pas considérer la première position dans la séquence cible comme le début d’un mot

match_not_eow : ne pas considérer la position située après la fin dans la séquence cible comme la fin d’un mot

match_any : si plusieurs correspondances sont possibles, n’importe quelle correspondance est acceptable

match_not_null : ne pas considérer une sous-séquence vide comme une correspondance

match_continuous : ne pas rechercher de correspondances ailleurs qu’au début de la séquence cible

match_prev_avail -- --first est un itérateur valide. Ignorer match_not_bol et match_not_bow s’ils sont définis

Indicateurs de format :

format_default : utiliser les règles de format ECMAScript

format_sed : utiliser les règles de format sed

format_no_copy : ne pas copier le texte qui ne correspond pas à l’expression régulière

format_first_only : ne pas rechercher de correspondances après la première

regex_constants ::syntax_option_type

Indicateurs pour la sélection des options de 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
    };

Notes

Le type est un type de masque de bits qui décrit les spécificateurs de langage et les modificateurs de syntaxe à utiliser durant la compilation d’une expression régulière. Vous pouvez combiner des options avec |. Vous devez utiliser un seul spécificateur de langage à la fois.

Spécificateurs de langage :

ECMAScript : compiler en ECMAScript

basic : compiler en BRE

extended : compiler en ERE

awk : compiler en awk

grep : compiler en grep

egrep : compiler en egrep

Modificateurs de syntaxe :

icase : les correspondances ne respectent pas la casse

nosubs : l’implémentation n’a pas besoin d’assurer le suivi du contenu des groupes de capture

optimize : l’implémentation doit privilégier la vitesse de mise en correspondance plutôt que la vitesse de compilation des expressions régulières

collate : les correspondances varient selon les paramètres régionaux

Voir aussi

<regex>
regex_error, classe
<fonctions regex>
regex_iterator, classe
<opérateurs regex>
regex_token_iterator, classe
regex_traits, classe
<regex> typedefs