QRegularExpressionMatchIterator Class
La classe `QRegularExpressionMatchIterator` fournit un itérateur sur les résultats d'une recherche globale d'un objet ` QRegularExpression ` dans une chaîne de caractères. En savoir plus...
| 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 des classes implicitement partagées et des classes pour les données de type chaîne.
Remarque : 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 de type Java, fonctionnant uniquement en avant ; on peut l’obtenir en appelant la fonction QRegularExpression::globalMatch(). Un nouvel objet QRegularExpressionMatchIterator sera positionné avant le premier résultat. Vous pouvez ensuite appeler la fonction hasNext() pour vérifier s’il existe 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 propose une fonction peekNext() permettant d’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 une 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 avec lequel la chaîne de caractères a été mise en correspondance en appelant la fonction regularExpression() ; le type de correspondance et les options de correspondance sont également disponibles en appelant respectivement les fonctions matchType() et matchOptions().
Veuillez vous reporter à la documentation de QRegularExpression pour plus d’informations sur les classes d’expressions régulières de Qt.
Voir également QRegularExpression et QRegularExpressionMatch.
Documentation sur les fonctions membres
QRegularExpressionMatchIterator::QRegularExpressionMatchIterator()
Construit un objet `QRegularExpressionMatchIterator` vide et valide. L'expression régulière est définie sur celle générée par défaut ; le type de correspondance est ` QRegularExpression::NoMatch ` et les options de correspondance sont ` QRegularExpression::NoMatchOption`.
L'appel de la fonction membre ` hasNext()` sur l'objet créé renverra `false`, car l'itérateur ne parcourt pas une séquence valide de correspondances.
QRegularExpressionMatchIterator::QRegularExpressionMatchIterator(const QRegularExpressionMatchIterator &iterator)
Crée un objet `QRegularExpressionMatchIterator` en tant que copie de ` iterator`.
Voir également operator=().
[constexpr noexcept default, since 6.1] QRegularExpressionMatchIterator::QRegularExpressionMatchIterator(QRegularExpressionMatchIterator &&iterator)
Construit un objet `QRegularExpressionMatchIterator` à partir d'un ` iterator`.
Notez qu'un objet QRegularExpressionMatchIterator issu d'un déplacement ne peut être que détruit ou affecté. L'effet de l'appel à des fonctions autres que le destructeur ou l'un des opérateurs d'affectation est indéfini.
Cette fonction a été introduite dans Qt 6.1.
Voir également operator=().
[noexcept] QRegularExpressionMatchIterator::~QRegularExpressionMatchIterator()
Supprime l'objet « QRegularExpressionMatchIterator ».
bool QRegularExpressionMatchIterator::hasNext() const
Renvoie « true » s'il existe au moins un résultat de correspondance avant l'itérateur ; sinon, elle renvoie « false ».
Voir également next().
bool QRegularExpressionMatchIterator::isValid() const
Renvoie true si l'objet itérateur a été obtenu à la suite de l'appel de la fonction QRegularExpression::globalMatch() sur un objet QRegularExpression valide ; renvoie false si l'appel de QRegularExpression était invalide.
Voir également QRegularExpression::globalMatch() et QRegularExpression::isValid().
QRegularExpression::MatchOptions QRegularExpressionMatchIterator::matchOptions() const
Renvoie les options de correspondance utilisées pour obtenir cet objet ` QRegularExpressionMatchIterator `, c'est-à-dire les options de correspondance transmises à la fonction ` QRegularExpression::globalMatch()`.
Voir également 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 qui a été transmis à la fonction ` QRegularExpression::globalMatch()`.
Voir également QRegularExpression::globalMatch(), regularExpression() et matchOptions().
QRegularExpressionMatch QRegularExpressionMatchIterator::next()
Renvoie le résultat suivant de la recherche 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 de résultats entraîne des résultats indéfinis.
QRegularExpressionMatch QRegularExpressionMatchIterator::peekNext() const
Renvoie le résultat suivant de la recherche sans déplacer l'itérateur.
Remarque : l'appel de cette fonction lorsque l'itérateur se trouve à la fin de l'ensemble de 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 également QRegularExpression::globalMatch(), matchType() et matchOptions().
[noexcept] void QRegularExpressionMatchIterator::swap(QRegularExpressionMatchIterator &other)
Permute cet itérateur avec other. Cette opération est très rapide et ne rencontre jamais d'échec.
[noexcept] QRegularExpressionMatchIterator &QRegularExpressionMatchIterator::operator=(QRegularExpressionMatchIterator &&iterator)
La fonction « move-assign » attribue l'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 affecté. L’effet de l’appel à d’autres fonctions que le destructeur ou l’un des opérateurs d’affectation est indéfini.
QRegularExpressionMatchIterator &QRegularExpressionMatchIterator::operator=(const QRegularExpressionMatchIterator &iterator)
Attribue l'iterator d'itérateur à 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.