Partager via


sub_match, classe

Décrit un submatch.

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 submatches.

Notes

La classe du modèle décrit un objet qui représente une séquence de caractères qui correspondaient un groupe de capture dans un appel à regex_match, fonction ou à regex_search, fonction. Les objets de type match_results, classe 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'a pas mis en correspondance le membre de données matched de l'objet contient false, 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 est true, les points d'first d'itération au premier caractère dans l'ordre cible qui a correspondu au groupe de capture, et de second itérateur une position après le dernier caractère de la séquence cible qui a correspondu au groupe de capture. Notez que pour une correspondance de longueur nulle qu' matched membre contient la valeur est true, les deux itérateurs sont égaux, et les deux indiquent la position de correspondance.

Une correspondance de longueur nulle peut se produire lorsqu'un groupe de capture consiste constituée uniquement une assertion, ou d'une répétition qui permet de répétition zéro. Par exemple :

« ^ » correspond à la séquence cible « a » ; l'objet d'sub_match correspondant au groupe 0 de capture contient les itérateurs que les deux points 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 1 de capture contient les itérateurs que les deux points du deuxième caractère de la séquence.

Configuration requise

Header: <regex>

Espace de noms : std

Voir aussi

Référence

<regex>

sub_match, classe

regex_match, fonction

regex_search, fonction

Autres ressources

<regex> membres