QRegularExpressionMatchIterator Class
Die Klasse „QRegularExpressionMatchIterator“ stellt einen Iterator für die Ergebnisse einer globalen Suche eines „ QRegularExpression “-Objekts in einer Zeichenkette bereit. Mehr...
| Header: | #include <QRegularExpressionMatchIterator> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QRegularExpressionMatchIterator gehört zu den implizit gemeinsam genutzten Klassen und den Klassen für Zeichenkettendaten.
Hinweis: Alle Funktionen dieser Klasse sind reentrant.
Öffentliche Funktionen
| QRegularExpressionMatchIterator() | |
| QRegularExpressionMatchIterator(const QRegularExpressionMatchIterator &iterator) | |
(since 6.1) | QRegularExpressionMatchIterator(QRegularExpressionMatchIterator &&iterator) |
| ~QRegularExpressionMatchIterator() | |
| bool | hasNext() const |
| bool | isValid() const |
| QRegularExpression::MatchOptions | matchOptions() const |
| QRegularExpression::MatchType | matchType() const |
| QRegularExpressionMatch | next() |
| QRegularExpressionMatch | peekNext() const |
| QRegularExpression | regularExpression() const |
| void | swap(QRegularExpressionMatchIterator &other) |
| QRegularExpressionMatchIterator & | operator=(QRegularExpressionMatchIterator &&iterator) |
| QRegularExpressionMatchIterator & | operator=(const QRegularExpressionMatchIterator &iterator) |
Ausführliche Beschreibung
Ein QRegularExpressionMatchIterator-Objekt ist ein Java-ähnlicher Iterator, der nur vorwärts läuft; es kann durch Aufruf der Funktion „ QRegularExpression::globalMatch()“ abgerufen werden. Ein neuer QRegularExpressionMatchIterator wird vor dem ersten Ergebnis positioniert. Anschließend können Sie die Funktion ` hasNext()` aufrufen, um zu prüfen, ob weitere Ergebnisse verfügbar sind; falls ja, gibt die Funktion ` next()` das nächste Ergebnis zurück und schiebt den Iterator vor.
Jedes Ergebnis ist ein „ QRegularExpressionMatch “-Objekt, das alle Informationen zu diesem Ergebnis enthält (einschließlich der erfassten Teilzeichenfolgen).
Beispiel:
// extracts the words
QRegularExpression re("(\\w+)");
QString subject("the quick fox");
QRegularExpressionMatchIterator i = re.globalMatch(subject);
while (i.hasNext()) {
QRegularExpressionMatch match = i.next();
// ...
}Darüber hinaus bietet `QRegularExpressionMatchIterator` eine Funktion ` peekNext()` an, um das nächste Ergebnis abzurufen, ohne den Iterator weiterzuschreiten.
Ab Qt 6.0 ist es außerdem möglich, das Ergebnis von ` QRegularExpression::globalMatch ` einfach in einer bereichsbasierten `for`-Schleife zu verwenden, zum Beispiel wie folgt:
// using a raw string literal, R"(raw_characters)", to be able to use "\w"
// without having to escape the backslash as "\\w"
QRegularExpression re(R"(\w+)");
QString subject("the quick fox");
for (const QRegularExpressionMatch &match : re.globalMatch(subject)) {
// ...
}Sie können das ` QRegularExpression `-Objekt abrufen, mit dem die Suchzeichenfolge abgeglichen wurde, indem Sie die Funktion ` regularExpression()` aufrufen; der Übereinstimmungstyp und die Übereinstimmungsoptionen sind ebenfalls verfügbar, indem Sie jeweils die Funktionen ` matchType()` und ` matchOptions()` aufrufen.
Weitere Informationen zu den Qt-Klassen für reguläre Ausdrücke finden Sie in der Dokumentation zu „ QRegularExpression “.
Siehe auch QRegularExpression und QRegularExpressionMatch.
Dokumentation zu den Mitgliedsfunktionen
QRegularExpressionMatchIterator::QRegularExpressionMatchIterator()
Erstellt ein leeres, gültiges `QRegularExpressionMatchIterator`-Objekt. Der reguläre Ausdruck wird auf den Standardwert gesetzt; der Übereinstimmungstyp auf ` QRegularExpression::NoMatch ` und die Übereinstimmungsoptionen auf ` QRegularExpression::NoMatchOption`.
Der Aufruf der Memberfunktion ` hasNext()` für das erstellte Objekt gibt `false` zurück, da der Iterator nicht über eine gültige Abfolge von Übereinstimmungen iteriert.
QRegularExpressionMatchIterator::QRegularExpressionMatchIterator(const QRegularExpressionMatchIterator &iterator)
Erstellt ein `QRegularExpressionMatchIterator`-Objekt als Kopie von ` iterator`.
Siehe auch ` operator=()`.
[constexpr noexcept default, since 6.1] QRegularExpressionMatchIterator::QRegularExpressionMatchIterator(QRegularExpressionMatchIterator &&iterator)
Erstellt ein `QRegularExpressionMatchIterator`-Objekt, indem es von ` iterator` verschoben wird.
Beachten Sie, dass ein verschobener `QRegularExpressionMatchIterator` nur zerstört oder zugewiesen werden kann. Die Auswirkungen des Aufrufs anderer Funktionen als des Destruktors oder eines der Zuweisungsoperatoren sind undefiniert.
Diese Funktion wurde in Qt 6.1 eingeführt.
Siehe auch ` operator=()`.
[noexcept] QRegularExpressionMatchIterator::~QRegularExpressionMatchIterator()
Löscht das Objekt „ QRegularExpressionMatchIterator “.
bool QRegularExpressionMatchIterator::hasNext() const
Gibt „ true “ zurück, wenn vor dem Iterator mindestens ein Treffer vorliegt; andernfalls wird „ false “ zurückgegeben.
Siehe auch next().
bool QRegularExpressionMatchIterator::isValid() const
Gibt „ true “ zurück, wenn das Iterator-Objekt als Ergebnis der Funktion „ QRegularExpression::globalMatch()“ erhalten wurde, die für ein gültiges „ QRegularExpression “-Objekt aufgerufen wurde; gibt „ false “ zurück, wenn das „ QRegularExpression “ ungültig war.
Siehe auch „ QRegularExpression::globalMatch()“ und „ QRegularExpression::isValid()“.
QRegularExpression::MatchOptions QRegularExpressionMatchIterator::matchOptions() const
Gibt die Match-Optionen zurück, die zum Abrufen dieses QRegularExpressionMatchIterator -Objekts verwendet wurden, d. h. die Match-Optionen, die an QRegularExpression::globalMatch() übergeben wurden.
Siehe auch QRegularExpression::globalMatch(), regularExpression() und matchType().
QRegularExpression::MatchType QRegularExpressionMatchIterator::matchType() const
Gibt den Match-Typ zurück, der zum Abrufen dieses QRegularExpressionMatchIterator -Objekts verwendet wurde, d. h. den Match-Typ, der an QRegularExpression::globalMatch() übergeben wurde.
Siehe auch QRegularExpression::globalMatch(), regularExpression() und matchOptions().
QRegularExpressionMatch QRegularExpressionMatchIterator::next()
Gibt das nächste Trefferergebnis zurück und verschiebt den Iterator um eine Position weiter.
Hinweis: Der Aufruf dieser Funktion, wenn sich der Iterator am Ende der Ergebnismenge befindet, führt zu undefinierten Ergebnissen.
QRegularExpressionMatch QRegularExpressionMatchIterator::peekNext() const
Gibt das nächste Trefferergebnis zurück, ohne den Iterator zu verschieben.
Hinweis: Der Aufruf dieser Funktion, wenn sich der Iterator am Ende der Ergebnismenge befindet, führt zu undefinierten Ergebnissen.
QRegularExpression QRegularExpressionMatchIterator::regularExpression() const
Gibt das „ QRegularExpression “-Objekt zurück, dessen Funktion „globalMatch()“ dieses Objekt zurückgegeben hat.
Siehe auch „ QRegularExpression::globalMatch()“, „ matchType()“ und „ matchOptions()“.
[noexcept] void QRegularExpressionMatchIterator::swap(QRegularExpressionMatchIterator &other)
Tauscht diesen Iterator mit other aus. Dieser Vorgang ist sehr schnell und schlägt niemals fehl.
[noexcept] QRegularExpressionMatchIterator &QRegularExpressionMatchIterator::operator=(QRegularExpressionMatchIterator &&iterator)
„move“ weist dem Objekt iterator zu und gibt eine Referenz auf das Ergebnis zurück.
Beachten Sie, dass ein verschobenes ` QRegularExpressionMatchIterator ` nur zerstört oder einer Zuweisung unterzogen werden kann. Die Auswirkungen des Aufrufs anderer Funktionen als des Destruktors oder eines der Zuweisungsoperatoren sind undefiniert.
QRegularExpressionMatchIterator &QRegularExpressionMatchIterator::operator=(const QRegularExpressionMatchIterator &iterator)
Weist diesem Objekt den Iterator „ iterator “ zu und gibt eine Referenz auf die Kopie zurück.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.