std:: match_results
|
Definiert im Header
<regex>
|
||
|
template
<
class
BidirIt,
|
(1) | (seit C++11) |
|
namespace
pmr
{
template
<
class
BidirIt
>
|
(2) | (seit C++17) |
Die Klassenvorlage
std::match_results
enthält eine Sammlung von Zeichenfolgen, die das Ergebnis einer regulären Ausdrucksübereinstimmung darstellen.
Dies ist ein spezialisierter Allokator-bewusster Container. Er kann nur standardmäßig erstellt, von
std::regex_iterator
bezogen oder durch
std::regex_search
oder
std::regex_match
modifiziert werden. Da
std::match_results
std::sub_match
es enthält, von denen jedes ein Paar von Iteratoren in die ursprüngliche Zeichensequenz darstellt, die gematcht wurde, ist es undefiniertes Verhalten,
std::match_results
zu untersuchen, wenn die ursprüngliche Zeichensequenz zerstört wurde oder Iteratoren zu ihr aus anderen Gründen ungültig geworden sind.
Der erste
std::sub_match
(Index 0), der in einem
std::match_result
enthalten ist, repräsentiert stets die vollständige Übereinstimmung innerhalb einer Zielsequenz, die durch einen regulären Ausdruck erzielt wurde, und nachfolgende
std::sub_match
es repräsentieren Teilausdrucks-Übereinstimmungen, die in der Reihenfolge der öffnenden Klammern entsprechen, die den Teilausdruck im regulären Ausdruck begrenzen.
std::match_results
erfüllt die Anforderungen eines
AllocatorAwareContainer
und eines
SequenceContainer
, mit der Ausnahme, dass nur Zuweisung durch Kopieren, Zuweisung durch Verschieben und Operationen, die für konstante Container definiert sind, unterstützt werden, und dass die Semantik der Vergleichsfunktionen sich von denen unterscheidet, die für einen Container erforderlich sind.
Inhaltsverzeichnis |
Typanforderungen
-
BidirIt
muss die Anforderungen eines
LegacyBidirectionalIterator
erfüllen.
|
||
-
Alloc
muss die Anforderungen eines
Allocator
erfüllen.
|
Spezialisierungen
Für häufige Zeichensequenztypen werden mehrere Spezialisierungen bereitgestellt:
|
Definiert im Header
<regex>
|
|
| Typ | Definition |
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 > |
Mitgliedertypen
| Mitgliedstyp | Definition |
allocator_type
|
Allocator
|
value_type
|
std:: sub_match < BidirIt > |
const_reference
|
const value_type & |
reference
|
value_type&
|
const_iterator
|
implementierungsdefiniert (hängt vom zugrundeliegenden Container ab) |
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 > |
Memberfunktionen
|
Konstruiert das Objekt
(öffentliche Elementfunktion) |
|
|
Zerstört das Objekt
(öffentliche Elementfunktion) |
|
|
Weist Inhalte zu
(öffentliche Elementfunktion) |
|
|
Gibt den zugeordneten Allokator zurück
(öffentliche Elementfunktion) |
|
Status |
|
|
Prüft, ob die Ergebnisse verfügbar sind
(öffentliche Elementfunktion) |
|
Größe |
|
|
Prüft, ob die Übereinstimmung erfolgreich war
(öffentliche Elementfunktion) |
|
|
Gibt die Anzahl der Übereinstimmungen in einem vollständig etablierten Ergebniszustand zurück
(öffentliche Elementfunktion) |
|
|
Gibt die maximal mögliche Anzahl von Teilübereinstimmungen zurück
(öffentliche Elementfunktion) |
|
Elementzugriff |
|
|
Gibt die Länge der bestimmten Teilübereinstimmung zurück
(öffentliche Elementfunktion) |
|
|
Gibt die Position des ersten Zeichens der bestimmten Teilübereinstimmung zurück
(öffentliche Elementfunktion) |
|
|
Gibt die Zeichenfolge für die bestimmte Teilübereinstimmung zurück
(öffentliche Elementfunktion) |
|
|
Gibt die angegebene Teilübereinstimmung zurück
(öffentliche Elementfunktion) |
|
|
Gibt die Teilsequenz zwischen dem Anfang der Zielsequenz und dem Anfang der vollständigen Übereinstimmung zurück
(öffentliche Elementfunktion) |
|
|
Gibt die Teilsequenz zwischen dem Ende der vollständigen Übereinstimmung und dem Ende der Zielsequenz zurück
(öffentliche Elementfunktion) |
|
Iteratoren |
|
|
Gibt einen Iterator zum Anfang der Liste der Teilübereinstimmungen zurück
(öffentliche Elementfunktion) |
|
|
Gibt einen Iterator zum Ende der Liste der Teilübereinstimmungen zurück
(öffentliche Elementfunktion) |
|
Formatierung |
|
|
Formatiert Übereinstimmungsergebnisse für die Ausgabe
(öffentliche Elementfunktion) |
|
Modifikatoren |
|
|
Tauscht die Inhalte aus
(öffentliche Elementfunktion) |
|
Nicht-Member-Funktionen
|
(entfernt in C++20)
|
vergleicht die Werte in den beiden Übereinstimmungsergebnissen lexikographisch
(Funktions-Template) |
|
(C++11)
|
spezialisiert den
std::swap
Algorithmus
(Funktions-Template) |