Namespaces
Variants

std:: match_results

From cppreference.net
Regular expressions library
Classes
(C++11)
match_results
(C++11)
Algorithms
Iterators
Exceptions
Traits
Constants
(C++11)
Regex Grammar
Definiert im Header <regex>
template <

class BidirIt,
class Alloc = std:: allocator < std:: sub_match < BidirIt >>

> class match_results ;
(1) (seit C++11)
namespace pmr {

template < class BidirIt >
using match_results = std :: match_results < BidirIt,
std:: pmr :: polymorphic_allocator <
std:: sub_match < 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)
spezialisiert den std::swap Algorithmus
(Funktions-Template)