Namespaces
Variants

std:: basic_regex

From cppreference.net
Regular expressions library
Classes
basic_regex
(C++11)
(C++11)
Algorithms
Iterators
Exceptions
Traits
Constants
(C++11)
Regex Grammar
Défini dans l'en-tête <regex>
template <

class CharT,
class Traits = std:: regex_traits < CharT >

> class basic_regex ;
(depuis C++11)

Le modèle de classe basic_regex fournit un cadre général pour contenir des expressions régulières.

Plusieurs typedefs pour les types de caractères courants sont fournis :

Défini dans l'en-tête <regex>
Type Définition
std::regex std :: basic_regex < char >
std::wregex std :: basic_regex < wchar_t >

Table des matières

Types membres

Type de membre Définition
value_type CharT
traits_type Traits
string_type Traits::string_type
locale_type Traits::locale_type
flag_type std::regex_constants::syntax_option_type

Fonctions membres

construit l'objet regex
(fonction membre publique)
détruit l'objet regex
(fonction membre publique)
assigne le contenu
(fonction membre publique)
assigne le contenu
(fonction membre publique)
Observateurs
retourne le nombre de sous-expressions marquées dans l'expression régulière
(fonction membre publique)
retourne les indicateurs de syntaxe
(fonction membre publique)
Locale
obtenir les informations de paramètres régionaux
(fonction membre publique)
définir les informations de paramètres régionaux
(fonction membre publique)
Modificateurs
échange le contenu
(fonction membre publique)

Constantes

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. C'est effectivement la même que 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. C'est effectivement la même que 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 un 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 variations, de sorte que std :: regex ( "meow" , std :: regex :: icase ) est équivalent à std :: regex ( "meow" , std :: regex :: ECMAScript | std :: regex :: icase ) .

Les constantes membres dans basic_regex sont des doublons des constantes syntax_option_type définies dans l'espace de noms std::regex_constants .

Fonctions non membres

spécialise l'algorithme std::swap
(modèle de fonction)

Guides de déduction (depuis C++17)