sub_match-Klasse
Beschreibt eine Teilentsprechung.
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;
};
Parameter
- BidIt
Der Iteratortyp für Teilübereinstimmungen.
Hinweise
Die Vorlagenklasse beschreibt ein Objekt, das eine Sequenz von Zeichen festlegen, die eine Erfassungsgruppe in einem Aufruf von regex_match-Funktion oder den regex_search-Funktion anpaßten. Objekte des Typs match_results-Klasse halten ein Array dieser Objekte, eine für jede erfasste Gruppe im regulären Ausdruck, der in der Suche verwendet wurde.
Wenn die Erfassungsgruppe keine ausgespielt wurde, enthält der matched - Datenmember des Objekts false an, und die beiden Iteratoren first und second (geerbt von der Basisklasse std::pair) sind gleich. Wenn die Erfassungsgruppe ausgespielt wurde, zeigt matched beinhaltet true, der Iterator first auf das erste Zeichen in der Zielsequenz, die die Erfassungsgruppe ausspielte, und den Iterator second Punkten eine Position nach dem letzten Zeichen in der Zielsequenz, die die ausspielte Erfassungsgruppe. Beachten Sie das für eine Übereinstimmung der Länge 0 (null) die Member matched beinhaltet true, sind die beiden Iteratoren gleich, und beide werden auf der Position der Entsprechung.
Eine Übereinstimmung der Länge 0 (null) kann auftreten, wenn eine Erfassungsgruppe nur aus einer Assertion besteht, oder einer Wiederholung, die nullwiederholungen zulässig. Beispiel:
"^" stimmt die Zielsequenz "a" ab; das sub_match-Objekt entsprechend Erfassungsgruppe 0 enthält Iteratoren an, diese, die beide auf dem ersten Zeichen in der Sequenz zeigen.
"b (a*) b" stimmt die Zielsequenz "Bb" ab; das sub_match-Objekt entsprechend Erfassungsgruppe 1 enthält Iteratoren an, diese, die beide auf dem zweiten Zeichen in der Sequenz zeigen.
Anforderungen
Header: <regex>
Namespace: std