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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour