std::match_results
| Definiert in Header <regex> |
||
| template< class BidirIt, |
(1) | (seit C++11) |
| namespace pmr { template <class BidirIt> |
(2) | (seit C++17) |
Die Klasse std::match_results speichert eine Sammlung von Zeichensequenzen, die das Ergebnis eines regulären Ausdrucksvergleichs darstellen.
Dies ist ein spezialisierter, zuweisungsfähiger Container. Er kann nur per Default erstellt, von std::regex_iterator erhalten oder durch std::regex_search oder std::regex_match modifiziert werden. Da std::match_results std::sub_matches enthält, die jeweils ein Paar von Iteratoren in die ursprüngliche Zeichensequenz sind, die abgeglichen wurde, ist es undefiniertes Verhalten, std::match_results zu untersuchen, wenn die ursprüngliche Zeichensequenz zerstört wurde oder Iteratoren dazu aus anderen Gründen ungültig wurden.
Der erste std::sub_match (Index 0), der in einem std::match_result enthalten ist, repräsentiert immer den vollständigen Treffer innerhalb einer Zielsequenz, der von einem Regex gemacht wurde, und nachfolgende std::sub_matches repräsentieren Teil-Ausdruckstreffer, die sequenziell den linken Klammern entsprechen, die den Teil-Ausdruck im Regex begrenzen.
std::match_results erfüllt die Anforderungen eines AllocatorAwareContainer und eines SequenceContainer, mit der Ausnahme, dass nur Kopierzuweisung, Zuweisung per Verschiebung und für konstante Container definierte Operationen unterstützt werden und dass die Semantik der Vergleichsfunktionen von denen abweicht, die für einen Container gefordert werden.
Inhalt |
[bearbeiten] Typanforderungen
-BidirIt muss die Anforderungen von LegacyBidirectionalIterator erfüllen. | ||
-Alloc muss die Anforderungen von Allocator erfüllen. |
[bearbeiten] Spezialisierungen
Es werden mehrere Spezialisierungen für gängige Zeichensequenztypen bereitgestellt.
| Definiert in 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> |
[bearbeiten] Mitgliedstypen
| Mitgliedertyp | Definition |
allocator_type
|
Allocator
|
value_type
|
std::sub_match<BidirIt> |
const_reference
|
const value_type& |
Referenz
|
value_type&
|
const_iterator
|
implementierungsabhängig (abhängig vom zugrundeliegenden Container) |
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> |
[bearbeiten] Mitgliedsfunktionen
| konstruiert das Objekt (öffentliche Mitgliedsfunktion) | |
| destruiert das Objekt (öffentliche Mitgliedsfunktion) | |
| weist den Inhalt zu (öffentliche Mitgliedsfunktion) | |
| gibt den zugehörigen Allocator zurück (öffentliche Mitgliedsfunktion) | |
Zustand | |
| prüft, ob die Ergebnisse verfügbar sind (öffentliche Memberfunktion) | |
Size | |
| prüft, ob der Abgleich erfolgreich war (öffentliche Mitgliedsfunktion) | |
| gibt die Anzahl der Treffer in einem vollständig etablierten Ergebnisstatus zurück (öffentliche Mitgliedsfunktion) | |
| gibt die maximal mögliche Anzahl von Teil-Treffern zurück (öffentliche Mitgliedsfunktion) | |
Elementzugriff | |
| gibt die Länge des jeweiligen Teil-Treffers zurück (öffentliche Mitgliedsfunktion) | |
| gibt die Position des ersten Zeichens des jeweiligen Teil-Treffers zurück (öffentliche Mitgliedsfunktion) | |
| gibt die Zeichensequenz für den jeweiligen Teil-Treffer zurück (öffentliche Mitgliedsfunktion) | |
| gibt die angegebene Teilübereinstimmung zurück (öffentliche Mitgliedsfunktion) | |
| gibt die Teilsequenz zwischen dem Anfang der Zielsequenz und dem Anfang des vollständigen Treffers zurück (öffentliche Mitgliedsfunktion) | |
| gibt die Teilsequenz zwischen dem Ende des vollständigen Treffers und dem Ende der Zielsequenz zurück (öffentliche Mitgliedsfunktion) | |
Iteratoren | |
| gibt einen Iterator zum Anfang der Liste von Teil-Treffern zurück (öffentliche Mitgliedsfunktion) | |
| gibt einen Iterator zum Ende der Liste von Teil-Treffern zurück (öffentliche Mitgliedsfunktion) | |
Format | |
| formatiert Treffergebnisse für die Ausgabe (öffentliche Mitgliedsfunktion) | |
Modifizierer | |
| tauscht die Inhalte (öffentliche Mitgliedsfunktion) | |
[bearbeiten] Nicht-Mitgliedsfunktionen
| (in C++20 entfernt) |
vergleicht lexikographisch die Werte in den beiden Übereinstimmungsergebnissen (Funktionstemplate) |
| spezialisiert den std::swap-Algorithmus (Funktionstemplate) |