Freigeben über


regex_token_iterator-Klasse

Iteratorklasse für Teilübereinstimmungen.

template<class BidIt, class Elem = iterator_traits<BidIt>::value_type,
    class RXtraits = regex_traits<Elem> >
        class regex_token_iterator {
public:
    typedef basic_regex<Elem, RXtraits> regex_type;
    typedef sub_match<BidIt> value_type;
    typedef std::forward_iterator_tag iterator_category;
    typedef std::ptrdiff_t difference_type;
    typedef const sub_match<BidIt> *pointer;
    typedef const sub_match<BidIt>& reference;

    regex_token_iterator();
    regex_token_iterator(BidIt first, BidIt last,
        const regex_type& re, int submatch = 0,
        regex_constants::match_flag_type f = regex_constants::match_default);
    regex_token_iterator(BidIt first, BidIt last,
        const regex_type& re, const std::vector<int> submatches,
        regex_constants::match_flag_type f = regex_constants::match_default);
    template<std::size_t N>
    regex_token_iterator(BidIt first, BidIt last,
        const regex_type& re, const int (&submatches)[N],
        regex_constants::match_flag_type f = regex_constants::match_default);

    bool operator==(const regex_token_iterator& right);
    bool operator!=(const regex_token_iterator& right);
    const basic_string<Elem>& operator*();
    const basic_string<Elem> *operator->();
    regex_token_iterator& operator++();
    regex_token_iterator& operator++(int);
private:
    regex_iterator<BidIt, Elem, RXtraits> it; // exposition only
    vector<int> subs;                         // exposition only
    int pos;                                  // exposition only
    };

Parameter

  • BidIt
    Der Iteratortyp für Teilübereinstimmungen.

  • Elem
    Der Typ der Elemente für die Übereinstimmung.

  • RXtraits
    Merkmalklasse für Elemente.

Hinweise

Die Vorlagenklasse beschreibt ein konstantes Vorwärtsiteratorobjekt. Konzeptionell enthält sie ein regex_iterator-Objekt, das diese verwendet, um für Übereinstimmungen des regulären Ausdrucks in einer Zeichenfolge zu suchen. Sie extrahiert die Objekte vom Typ sub_match<BidIt> die Teilübereinstimmungen darstellt, die durch die Indexwerte im gespeicherten Vektor subs für jede Übereinstimmung des regulären Ausdrucks identifiziert werden.

Ein Indexwert von -1 wird der Zeichensequenzanfang unmittelbar nach dem Ende der vorherigen Übereinstimmung des regulären Ausdrücken oder Anfang am Anfang der Zeichenfolge, wenn nicht vorherige regulären Ausdrucksübereinstimmung hat, und die Erweiterung jedoch ohne zum ersten Zeichen der aktuellen regulären Ausdrucksübereinstimmung bzw. das Ende der Zeichenfolge fest, wenn keine aktuelle Übereinstimmung gibt. Jeder andere Indexwert idx wird der Inhalt der Erfassungsgruppe fest, die in it.match[idx] enthalten ist.

Anforderungen

Header: <regex>

Namespace: std

Siehe auch

Referenz

<regex>

regex_token_iterator-Klasse

regex_iterator-Klasse

Weitere Ressourcen

<regex> Member