Namespaces
Variants

std:: match_results

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

class BidirIt,
class Alloc = std:: allocator < std:: sub_match < BidirIt >>

> class match_results ;
(1) (depuis C++11)
namespace pmr {

template < class BidirIt >
using match_results = std :: match_results < BidirIt,
std:: pmr :: polymorphic_allocator <
std:: sub_match < BidirIt >>> ;

}
(2) (depuis C++17)

Le modèle de classe std::match_results contient une collection de séquences de caractères qui représentent le résultat d'une correspondance d'expression régulière.

Ceci est un conteneur spécialisé prenant en charge les allocateurs. Il ne peut être que créé par défaut, obtenu à partir de std::regex_iterator , ou modifié par std::regex_search ou std::regex_match . Parce que std::match_results contient des std::sub_match , chacun étant une paire d'itérateurs vers la séquence de caractères originale qui a été mise en correspondance, il s'agit d'un comportement indéfini d'examiner std::match_results si la séquence de caractères originale a été détruite ou si les itérateurs vers celle-ci ont été invalidés pour d'autres raisons.

Le premier std::sub_match (index 0) contenu dans un std::match_result représente toujours la correspondance complète au sein d'une séquence cible effectuée par une expression régulière, et les std::sub_match suivants représentent les correspondances de sous-expressions correspondant en séquence à la parenthèse gauche délimitant la sous-expression dans l'expression régulière.

std::match_results satisfait aux exigences d'un AllocatorAwareContainer et d'un SequenceContainer , à l'exception que seules l'affectation par copie, l'affectation par déplacement et les opérations définies pour les conteneurs constants sont prises en charge, et que la sémantique des fonctions de comparaison est différente de celle requise pour un conteneur.

Table des matières

Exigences de type

-
BidirIt doit satisfaire aux exigences de LegacyBidirectionalIterator .
-
Alloc doit satisfaire aux exigences de Allocator .

Spécialisations

Plusieurs spécialisations pour les types courants de séquences de caractères sont fournies :

Défini dans l'en-tête <regex>
Type Définition
std::cmatch std :: match_results < const char * >
std::wcmatch std :: match_results < const wchar_t * >
std::smatch std :: match_results < std :: string :: const_iterator >
std::wsmatch std :: match_results < std :: wstring :: const_iterator >
std::pmr::cmatch (C++17) std :: pmr :: match_results < const char * >
std::pmr::wcmatch (C++17) std :: pmr :: match_results < const wchar_t * >
std::pmr::smatch (C++17) std :: pmr :: match_results < std :: string :: const_iterator >
std::pmr::wsmatch (C++17) std :: pmr :: match_results < std :: wstring :: const_iterator >

Types membres

Type de membre Définition
allocator_type Allocator
value_type std:: sub_match < BidirIt >
const_reference const value_type &
reference value_type&
const_iterator défini par l'implémentation (dépend du conteneur sous-jacent)
iterator const_iterator
difference_type std:: iterator_traits < BidirIt > :: difference_type
size_type std:: allocator_traits < Alloc > :: size_type
char_type std:: iterator_traits < BidirIt > :: value_type
string_type std:: basic_string < char_type >

Fonctions membres

construit l'objet
(fonction membre publique)
détruit l'objet
(fonction membre publique)
assigne le contenu
(fonction membre publique)
retourne l'allocateur associé
(fonction membre publique)
État
vérifie si les résultats sont disponibles
(fonction membre publique)
Taille
vérifie si la correspondance a réussi
(fonction membre publique)
retourne le nombre de correspondances dans un état de résultat entièrement établi
(fonction membre publique)
retourne le nombre maximum possible de sous-correspondances
(fonction membre publique)
Accès aux éléments
retourne la longueur de la sous-correspondance particulière
(fonction membre publique)
retourne la position du premier caractère de la sous-correspondance particulière
(fonction membre publique)
retourne la séquence de caractères pour la sous-correspondance particulière
(fonction membre publique)
retourne la sous-correspondance spécifiée
(fonction membre publique)
retourne la sous-séquence entre le début de la séquence cible et le début de la correspondance complète
(fonction membre publique)
retourne la sous-séquence entre la fin de la correspondance complète et la fin de la séquence cible
(fonction membre publique)
Itérateurs
retourne l'itérateur vers le début de la liste des sous-correspondances
(fonction membre publique)
retourne l'itérateur vers la fin de la liste des sous-correspondances
(fonction membre publique)
Formatage
formate les résultats de correspondance pour la sortie
(fonction membre publique)
Modificateurs
échange le contenu
(fonction membre publique)

Fonctions non membres

(supprimé en C++20)
compare lexicographiquement les valeurs dans les deux résultats de correspondance
(modèle de fonction)
spécialise l'algorithme std::swap
(modèle de fonction)