Namespaces
Variants

std:: basic_regex constants

From cppreference.net
Regular expressions library
Classes
(C++11)
Algorithms
Iterators
Exceptions
Traits
Constants
(C++11)
Regex Grammar
Défini dans l'en-tête <regex>
static constexpr std:: regex_constants :: syntax_option_type icase =

std:: regex_constants :: icase ;
static constexpr std:: regex_constants :: syntax_option_type nosubs =
std:: regex_constants :: nosubs ;
static constexpr std:: regex_constants :: syntax_option_type optimize =
std:: regex_constants :: optimize ;
static constexpr std:: regex_constants :: syntax_option_type collate =
std:: regex_constants :: collate ;
static constexpr std:: regex_constants :: syntax_option_type ECMAScript =
std:: regex_constants :: ECMAScript ;
static constexpr std:: regex_constants :: syntax_option_type basic =
std:: regex_constants :: basic ;
static constexpr std:: regex_constants :: syntax_option_type extended =
std:: regex_constants :: extended ;
static constexpr std:: regex_constants :: syntax_option_type awk =
std:: regex_constants :: awk ;
static constexpr std:: regex_constants :: syntax_option_type grep =
std:: regex_constants :: grep ;
static constexpr std:: regex_constants :: syntax_option_type egrep =

std:: regex_constants :: egrep ;
(depuis C++17)

std::basic_regex définit plusieurs constantes qui régissent la syntaxe générale de correspondance des expressions régulières.

Ces constantes sont dupliquées depuis std :: regex_constants :

Option de grammaire Effet(s)
ECMAScript Utilise la grammaire d'expressions régulières ECMAScript modifiée .
basic Utilise la grammaire d'expressions régulières POSIX de base ( documentation de la grammaire ).
extended Utilise la grammaire d'expressions régulières POSIX étendue ( documentation de la grammaire ).
awk Utilise la grammaire d'expressions régulières employée par l'utilitaire awk dans POSIX ( documentation de la grammaire ).
grep Utilise la grammaire d'expressions régulières employée par l'utilitaire grep dans POSIX. Cela équivaut effectivement à l'option basic avec l'ajout du saut de ligne ' \n ' comme séparateur d'alternative.
egrep Utilise la grammaire d'expressions régulières employée par l'utilitaire grep avec l'option -E dans POSIX. Cela équivaut effectivement à l'option extended avec l'ajout du saut de ligne ' \n ' comme séparateur d'alternative en plus de '|' .
Variation de grammaire Effet(s)
icase La correspondance des caractères doit être effectuée sans tenir compte de la casse.
nosubs Lors de l'exécution des correspondances, toutes les sous-expressions marquées ( expr ) sont traitées comme des sous-expressions non marquantes (?: expr ) . Aucune correspondance n'est stockée dans la structure std::regex_match fournie et mark_count() est zéro.
optimize Demande au moteur d'expressions régulières d'optimiser la vitesse de correspondance, au prix potentiel d'un temps de construction plus long. Par exemple, cela peut impliquer la conversion d'un AFN en AFD.
collate Les plages de caractères de la forme "[a-b]" seront sensibles à la locale.
multiline (C++17) Spécifie que ^ doit correspondre au début d'une ligne et $ doit correspondre à la fin d'une ligne, si le moteur ECMAScript est sélectionné.

Au plus une option de grammaire peut être choisie parmi ECMAScript , basic , extended , awk , grep , egrep . Si aucune grammaire n'est choisie, ECMAScript est supposé être sélectionné. Les autres options servent de variantes, de sorte que std:: regex ( "meow" , std :: regex :: icase ) est équivalent à std:: regex ( "meow" , std :: regex :: ECMAScript | std :: regex :: icase ) .

Voir aussi

options générales contrôlant le comportement des regex
(typedef)