Partager via


sub_match Class

Décrit une sous-correspondance.

template<class BidIt>
    class sub_match
        : public std::pair<BidIt, BidIt> {
public:
    bool matched;
    int compare(const sub_match& right) const;
    int compare(const basic_string<value_type>& right) const;
    int compare(const value_type *right) const;
    difference_type length() const;
    operator basic_string<value_type>() const;
    basic_string<value_type> str() const;
    typedef typename iterator_traits<BidIt>::value_type value_type;
    typedef typename iterator_traits<BidIt>::difference_type difference_type;
    typedef BidIt iterator;
    };

Paramètres

  • BidIt
    Le type d'itérateur pour les sous-correspondances.

Notes

La classe de modèle décrit un objet qui indique une séquence de caractères qui correspondaient à un groupe de capture dans un appel à regex_match Function ou à regex_search Function.Les objets de type match_results Class contiennent un tableau de ces objets, un pour chaque groupe de capture dans l'expression régulière utilisée dans la recherche.

Si le groupe de capture n'était pas associé à la donnée membre matched de l'objet est false, et les deux itérateurs first et second (hérités de la base std::pair) sont égaux.Si le groupe de capture a été mis en correspondance, matched contient la valeur true, les points d' first itérateur au premier caractère de la séquence cible qui correspondait à le groupe de capture, et les points d' second itérateur une position au delà de le dernier caractère de la séquence cible qui correspondait à le groupe de capture.Notez que pour une correspondance de longueur zéro les blocages membres d' matched true, les deux itérateurs sont égaux, et les deux indique la position de la correspondance.

Une correspondance de longueur zéro peut se produire lorsqu'un groupe de capture se compose uniquement d'une assertion, ou d'une répétition autorise les répétitions zéro.Par exemple :

« ^ » correspond à la séquence cible « a » ; l'objet d' sub_match correspondant au groupe de capture 0 gère les itérateurs les deux point au premier caractère de la séquence.

« b (a*) b » correspond à la séquence cible « bb » ; l'objet d' sub_match correspondant au groupe de capture 1 gère les itérateurs les deux pointez sur le deuxième caractère dans la séquence.

Configuration requise

en-tête : <regex>

l'espace de noms : type

Voir aussi

Référence

<regex>

sub_match Class

regex_match Function

regex_search Function

Autres ressources

<regex> membres