QRegularExpressionMatchIterator Class
La classe QRegularExpressionMatchIterator fournit un itérateur sur les résultats d'une correspondance globale d'un objet QRegularExpression avec une chaîne de caractères. Plus d'informations...
| En-tête : | #include <QRegularExpressionMatchIterator> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Core)target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake : | QT += core |
- Liste de tous les membres, y compris les membres hérités
- QRegularExpressionMatchIterator fait partie de Implicitly Shared Classes et de Classes for string data.
Note : Toutes les fonctions de cette classe sont réentrantes.
Fonctions publiques
| 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) |
Description détaillée
Un objet QRegularExpressionMatchIterator est un itérateur Java de type forward only ; il peut être obtenu en appelant la fonction QRegularExpression::globalMatch(). Un nouveau QRegularExpressionMatchIterator sera placé avant le premier résultat. Vous pouvez ensuite appeler la fonction hasNext() pour vérifier s'il y a d'autres résultats disponibles ; si c'est le cas, la fonction next() renverra le résultat suivant et fera avancer l'itérateur.
Chaque résultat est un objet QRegularExpressionMatch contenant toutes les informations relatives à ce résultat (y compris les sous-chaînes capturées).
Par exemple :
// extracts the words QRegularExpression re("(\\w+)"); QString subject("the quick fox"); QRegularExpressionMatchIterator i = re.globalMatch(subject); while (i.hasNext()) { QRegularExpressionMatch match = i.next(); // ... }
De plus, QRegularExpressionMatchIterator offre une fonction peekNext() pour obtenir le résultat suivant sans faire avancer l'itérateur.
À partir de Qt 6.0, il est également possible d'utiliser simplement le résultat de QRegularExpression::globalMatch dans une boucle for basée sur la plage, par exemple comme ceci :
// 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)) { // ... }
Vous pouvez récupérer l'objet QRegularExpression auquel la chaîne sujet a été comparée en appelant la fonction regularExpression() ; le type de correspondance et les options de correspondance sont également disponibles en appelant respectivement la fonction matchType() et la fonction matchOptions().
Veuillez vous référer à la documentation QRegularExpression pour plus d'informations sur les classes d'expressions régulières de Qt.
Voir également QRegularExpression et QRegularExpressionMatch.
Documentation des fonctions membres
QRegularExpressionMatchIterator::QRegularExpressionMatchIterator()
Construit un objet QRegularExpressionMatchIterator vide et valide. L'expression régulière est construite par défaut ; le type de correspondance est QRegularExpression::NoMatch et les options de correspondance sont QRegularExpression::NoMatchOption.
L'invocation de la fonction membre hasNext() sur l'objet construit renverra un faux, car l'itérateur n'est pas en train d'itérer sur une séquence valide de correspondances.
QRegularExpressionMatchIterator::QRegularExpressionMatchIterator(const QRegularExpressionMatchIterator &iterator)
Construit un objet QRegularExpressionMatchIterator en tant que copie de iterator.
Voir aussi operator=().
[constexpr noexcept, since 6.1] QRegularExpressionMatchIterator::QRegularExpressionMatchIterator(QRegularExpressionMatchIterator &&iterator)
Construit un objet QRegularExpressionMatchIterator en le déplaçant de iterator.
Notez qu'un QRegularExpressionMatchIterator déplacé à partir d'un objet ne peut être que détruit ou assigné. L'effet de l'appel à d'autres fonctions que le destructeur ou l'un des opérateurs d'affectation n'est pas défini.
Cette fonction a été introduite dans Qt 6.1.
Voir aussi operator=().
[noexcept] QRegularExpressionMatchIterator::~QRegularExpressionMatchIterator()
Détruit l'objet QRegularExpressionMatchIterator.
bool QRegularExpressionMatchIterator::hasNext() const
Renvoie true s'il y a au moins un résultat de correspondance avant l'itérateur ; sinon, il renvoie false.
Voir aussi next().
bool QRegularExpressionMatchIterator::isValid() const
Renvoie true si l'objet itérateur a été obtenu comme résultat de la fonction QRegularExpression::globalMatch() invoquée sur un objet QRegularExpression valide ; renvoie false si le QRegularExpression n'était pas valide.
Voir aussi QRegularExpression::globalMatch() et QRegularExpression::isValid().
QRegularExpression::MatchOptions QRegularExpressionMatchIterator::matchOptions() const
Renvoie les options de correspondance qui ont été utilisées pour obtenir cet objet QRegularExpressionMatchIterator, c'est-à-dire les options de correspondance qui ont été transmises à QRegularExpression::globalMatch().
Voir aussi QRegularExpression::globalMatch(), regularExpression() et matchType().
QRegularExpression::MatchType QRegularExpressionMatchIterator::matchType() const
Renvoie le type de correspondance utilisé pour obtenir cet objet QRegularExpressionMatchIterator, c'est-à-dire le type de correspondance transmis à QRegularExpression::globalMatch().
Voir aussi QRegularExpression::globalMatch(), regularExpression() et matchOptions().
QRegularExpressionMatch QRegularExpressionMatchIterator::next()
Renvoie le résultat suivant et fait avancer l'itérateur d'une position.
Remarque : l'appel de cette fonction lorsque l'itérateur se trouve à la fin de l'ensemble des résultats entraîne des résultats indéfinis.
QRegularExpressionMatch QRegularExpressionMatchIterator::peekNext() const
Renvoie le résultat suivant sans déplacer l'itérateur.
Remarque : L'appel de cette fonction lorsque l'itérateur se trouve à la fin de l'ensemble des résultats entraîne des résultats indéfinis.
QRegularExpression QRegularExpressionMatchIterator::regularExpression() const
Renvoie l'objet QRegularExpression dont la fonction globalMatch() a renvoyé cet objet.
Voir aussi QRegularExpression::globalMatch(), matchType(), et matchOptions().
[noexcept] void QRegularExpressionMatchIterator::swap(QRegularExpressionMatchIterator &other)
Échange cet itérateur avec other. Cette opération est très rapide et n'échoue jamais.
[noexcept] QRegularExpressionMatchIterator &QRegularExpressionMatchIterator::operator=(QRegularExpressionMatchIterator &&iterator)
Move assigne l'objet iterator à cet objet et renvoie une référence au résultat.
Notez qu'un QRegularExpressionMatchIterator déplacé ne peut être que détruit ou assigné. L'effet de l'appel à d'autres fonctions que le destructeur ou l'un des opérateurs d'affectation n'est pas défini.
QRegularExpressionMatchIterator &QRegularExpressionMatchIterator::operator=(const QRegularExpressionMatchIterator &iterator)
Affecte l'itérateur iterator à cet objet et renvoie une référence à la copie.
© 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.