QRegularExpressionMatch Class
La classe `QRegularExpressionMatch` fournit les résultats de la comparaison d'une expression régulière ( QRegularExpression ) avec une chaîne de caractères. En savoir plus...
| En-tête : | #include <QRegularExpressionMatch> |
| 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
- QRegularExpressionMatch fait partie des classes à partage implicite et des classes pour les données de type chaîne.
Remarque : toutes les fonctions de cette classe sont réentrantes.
Fonctions publiques
| QRegularExpressionMatch() | |
| QRegularExpressionMatch(const QRegularExpressionMatch &match) | |
(since 6.1) | QRegularExpressionMatch(QRegularExpressionMatch &&match) |
| ~QRegularExpressionMatch() | |
| QString | captured(QAnyStringView name) const |
| QString | captured(int nth = 0) const |
| qsizetype | capturedEnd(QAnyStringView name) const |
| qsizetype | capturedEnd(int nth = 0) const |
| qsizetype | capturedLength(QAnyStringView name) const |
| qsizetype | capturedLength(int nth = 0) const |
| qsizetype | capturedStart(QAnyStringView name) const |
| qsizetype | capturedStart(int nth = 0) const |
| QStringList | capturedTexts() const |
| QStringView | capturedView(QAnyStringView name) const |
| QStringView | capturedView(int nth = 0) const |
(since 6.3) bool | hasCaptured(QAnyStringView name) const |
(since 6.3) bool | hasCaptured(int nth) const |
| bool | hasMatch() const |
| bool | hasPartialMatch() const |
| bool | isValid() const |
| int | lastCapturedIndex() const |
| QRegularExpression::MatchOptions | matchOptions() const |
| QRegularExpression::MatchType | matchType() const |
| QRegularExpression | regularExpression() const |
| void | swap(QRegularExpressionMatch &other) |
| QRegularExpressionMatch & | operator=(QRegularExpressionMatch &&match) |
| QRegularExpressionMatch & | operator=(const QRegularExpressionMatch &match) |
Éléments non membres associés
| QDebug | operator<<(QDebug debug, const QRegularExpressionMatch &match) |
Description détaillée
Un objet QRegularExpressionMatch peut être obtenu en appelant la fonction QRegularExpression::match(), ou en tant que résultat unique d’une correspondance globale à partir d’un objet QRegularExpressionMatchIterator.
Il est possible de vérifier si une tentative de correspondance a abouti ou non en appelant la fonction ` hasMatch()`. `QRegularExpressionMatch` signale également une correspondance partielle réussie via la fonction ` hasPartialMatch()`.
De plus, `QRegularExpressionMatch` renvoie les sous-chaînes capturées par les groupes de capture dans la chaîne de motif. Le groupe de capture implicite d’index 0 capture le résultat de la correspondance complète. La fonction ` captured()` renvoie chaque sous-chaîne capturée, soit par l’index du groupe de capture, soit par son nom :
QRegularExpression re("(\\d\\d) (?<name>\\w+)");
QRegularExpressionMatch match = re.match("23 Jordan");
if (match.hasMatch()) {
QString number = match.captured(1); // first == "23"
QString name = match.captured("name"); // name == "Jordan"
}Pour chaque sous-chaîne capturée, il est possible d’interroger ses indices de début et de fin dans la chaîne sujet en appelant respectivement les fonctions ` capturedStart()` et ` capturedEnd()`. La longueur de chaque sous-chaîne capturée est disponible via la fonction ` capturedLength()`.
La fonction pratique ` capturedTexts()` renvoie toutes les sous-chaînes capturées en une seule fois (y compris la sous-chaîne correspondant à l’ensemble du motif) dans l’ordre où elles ont été capturées par les groupes de capture ; c’est-à-dire ` captured(i) == capturedTexts().at(i)`.
Vous pouvez récupérer l’objet ` QRegularExpression ` auquel la chaîne sujet 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.
Documentation sur les fonctions membres
QRegularExpressionMatch::QRegularExpressionMatch()
Construit un objet `QRegularExpressionMatch` valide et vide. L'expression régulière est définie sur celle générée par défaut ; le type de correspondance est défini sur ` QRegularExpression::NoMatch ` et les options de correspondance sur ` QRegularExpression::NoMatchOption`.
L'objet signalera l'absence de correspondance via les fonctions membres ` hasMatch()` et ` hasPartialMatch()`.
QRegularExpressionMatch::QRegularExpressionMatch(const QRegularExpressionMatch &match)
Crée un résultat de correspondance en copiant le résultat de la fonction ` match` fournie.
Voir aussi operator=().
[constexpr noexcept default, since 6.1] QRegularExpressionMatch::QRegularExpressionMatch(QRegularExpressionMatch &&match)
Construit un résultat de correspondance en y transférant le résultat de l'match donné.
Notez qu’un objet `QRegularExpressionMatch` à partir duquel un résultat a été 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.
Cette fonction a été introduite dans Qt 6.1.
Voir également operator=().
[noexcept] QRegularExpressionMatch::~QRegularExpressionMatch()
Annule le résultat du match.
QString QRegularExpressionMatch::captured(QAnyStringView name) const
Renvoie la sous-chaîne capturée par le groupe de capture nommé « name ».
Si le groupe de capture nommé name n'a pas capturé de chaîne, ou s'il n'existe aucun groupe de capture nommé name, renvoie une valeur nulle QString.
Remarque : dans les versions de Qt antérieures à la version 6.8, cette fonction prenait en paramètre QString ou QStringView, et non QAnyStringView.
Voir également capturedView(), capturedStart(), capturedEnd(), capturedLength() et QString::isNull().
QString QRegularExpressionMatch::captured(int nth = 0) const
Renvoie la sous-chaîne capturée par le groupe de capture « nth ».
Si le groupe de capture « nth » n’a capturé aucune chaîne, ou s’il n’existe pas, renvoie une valeur nulle QString.
Remarque : le groupe de capture implicite numéro 0 capture la sous-chaîne correspondant à l’ensemble du motif.
Voir également : capturedView(), lastCapturedIndex(), capturedStart(), capturedEnd(), capturedLength() et QString::isNull().
qsizetype QRegularExpressionMatch::capturedEnd(QAnyStringView name) const
Renvoie l'offset à l'intérieur de la chaîne de caractères donnée, immédiatement après la position de fin de la sous-chaîne capturée par le groupe de capture nommé « name ». Si le groupe de capture nommé « name » n'a pas capturé de chaîne ou n'existe pas, la fonction renvoie -1.
Remarque : dans les versions de Qt antérieures à la version 6.8, cette fonction prenait QString ou QStringView, et non QAnyStringView.
Voir également capturedStart(), capturedLength() et captured().
qsizetype QRegularExpressionMatch::capturedEnd(int nth = 0) const
Renvoie l'offset dans la chaîne de caractères donnée, situé immédiatement après la position de fin de la sous-chaîne capturée par le groupe de capture « nth ». Si le groupe de capture « nth » n'a pas capturé de chaîne ou n'existe pas, la fonction renvoie -1.
Voir également capturedStart(), capturedLength() et captured().
qsizetype QRegularExpressionMatch::capturedLength(QAnyStringView name) const
Renvoie la longueur de la sous-chaîne capturée par le groupe de capture nommé « name ».
Remarque : cette fonction renvoie 0 si le groupe de capture nommé name n'a pas capturé de chaîne ou n'existe pas.
Remarque : dans les versions de Qt antérieures à la version 6.8, cette fonction prenait en argument QString ou QStringView, et non QAnyStringView.
Voir également capturedStart(), capturedEnd() et captured().
qsizetype QRegularExpressionMatch::capturedLength(int nth = 0) const
Renvoie la longueur de la sous-chaîne capturée par le groupe de capture « nth ».
Remarque : cette fonction renvoie 0 si le groupe de capture « nth » n’a pas capturé de chaîne ou s’il n’existe pas.
Voir également capturedStart(), capturedEnd() et captured().
qsizetype QRegularExpressionMatch::capturedStart(QAnyStringView name) const
Renvoie l'offset à l'intérieur de la chaîne de caractères donnée correspondant à la position de départ de la sous-chaîne capturée par le groupe de capture nommé name. Si le groupe de capture nommé name n'a pas capturé de chaîne ou n'existe pas, renvoie -1.
Remarque : dans les versions de Qt antérieures à la version 6.8, cette fonction prenait en paramètre QString ou QStringView, et non QAnyStringView.
Voir également capturedEnd(), capturedLength() et captured().
qsizetype QRegularExpressionMatch::capturedStart(int nth = 0) const
Renvoie l'offset à l'intérieur de la chaîne de caractères en question correspondant à la position de départ de la sous-chaîne capturée par le groupe de capture « nth ». Si le groupe de capture « nth » n'a pas capturé de chaîne ou n'existe pas, la fonction renvoie -1.
Voir également capturedEnd(), capturedLength() et captured().
QStringList QRegularExpressionMatch::capturedTexts() const
Renvoie une liste de toutes les chaînes capturées par les groupes de capture, dans l'ordre où ces groupes apparaissent dans la chaîne du motif. La liste inclut le groupe de capture implicite numéro 0, qui capture la sous-chaîne correspondant à l'intégralité du motif.
QStringView QRegularExpressionMatch::capturedView(QAnyStringView name) const
Renvoie une vue de la chaîne capturée par le groupe de capture nommé « name ».
Si le groupe de capture nommé « name » n'a pas capturé de chaîne, ou s'il n'existe aucun groupe de capture nommé « name », renvoie une valeur nulle « QStringView ».
Remarque : dans les versions de Qt antérieures à la version 6.8, cette fonction prenait en paramètre QString ou QStringView, et non QAnyStringView.
Voir également captured(), capturedStart(), capturedEnd(), capturedLength() et QStringView::isNull().
QStringView QRegularExpressionMatch::capturedView(int nth = 0) const
Renvoie une vue de la sous-chaîne capturée par le groupe de capture « nth ».
Si le groupe de capture « nth » n’a pas capturé de chaîne, ou s’il n’existe pas, renvoie une valeur nulle QStringView.
Remarque : le groupe de capture implicite numéro 0 capture la sous-chaîne correspondant à l’ensemble du motif.
Voir également : captured(), lastCapturedIndex(), capturedStart(), capturedEnd(), capturedLength() et QStringView::isNull().
[since 6.3] bool QRegularExpressionMatch::hasCaptured(QAnyStringView name) const
Renvoie « true » si le groupe de capture nommé « name » a capturé un élément dans la chaîne de caractères, et « false » dans le cas contraire (ou s'il n'existe aucun groupe de capture nommé « name »).
Remarque : certains groupes de capture d'une expression régulière peuvent ne rien avoir capturé même si l'expression régulière a donné lieu à une correspondance. Cela peut se produire, par exemple, si un opérateur conditionnel est utilisé dans le motif :
QRegularExpression re("([a-z]+)|([A-Z]+)");
QRegularExpressionMatch m = re.match("UPPERCASE");
if (m.hasMatch()) {
qDebug() << m.hasCaptured(0); // true
qDebug() << m.hasCaptured(1); // false
qDebug() << m.hasCaptured(2); // true
}De même, un groupe de capture peut capturer une sous-chaîne de longueur 0 ; cette fonction renverra true pour un tel groupe de capture.
Remarque : dans les versions de Qt antérieures à la version 6.8, cette fonction prenait en paramètre QString ou QStringView, et non QAnyStringView.
Cette fonction a été introduite dans Qt 6.3.
Voir également captured() et hasMatch().
[since 6.3] bool QRegularExpressionMatch::hasCaptured(int nth) const
Renvoie « true » si le groupe de capture « nth » a capturé un élément dans la chaîne de caractères du sujet, et « false » dans le cas contraire (ou s'il n'existe pas de groupe de capture de ce nom).
Remarque : le groupe de capture implicite numéro 0 capture la sous-chaîne correspondant à l'ensemble du motif.
Remarque : certains groupes de capture d'une expression régulière peuvent ne rien avoir capturé, même si l'expression régulière a donné une correspondance. Cela peut se produire, par exemple, si un opérateur conditionnel est utilisé dans le motif :
QRegularExpression re("([a-z]+)|([A-Z]+)");
QRegularExpressionMatch m = re.match("UPPERCASE");
if (m.hasMatch()) {
qDebug() << m.hasCaptured(0); // true
qDebug() << m.hasCaptured(1); // false
qDebug() << m.hasCaptured(2); // true
}De même, un groupe de capture peut capturer une sous-chaîne de longueur 0 ; cette fonction renverra true pour un tel groupe de capture.
Cette fonction a été introduite dans Qt 6.3.
Voir également captured(), lastCapturedIndex() et hasMatch().
bool QRegularExpressionMatch::hasMatch() const
Renvoie « true » si l'expression régulière correspond à la chaîne de caractères, ou « false » dans le cas contraire.
Voir également QRegularExpression::match() et hasPartialMatch().
bool QRegularExpressionMatch::hasPartialMatch() const
Renvoie « true » si l'expression régulière correspond partiellement à la chaîne de caractères, ou « false » dans le cas contraire.
Remarque : seule une correspondance utilisant explicitement l’un des types de correspondance partielle peut donner lieu à une correspondance partielle. Toutefois, si une telle correspondance aboutit entièrement, cette fonction renverra « false », tandis que ` hasMatch()` renverra « true ».
Voir également QRegularExpression::match(), QRegularExpression::MatchType et hasMatch().
bool QRegularExpressionMatch::isValid() const
Renvoie ` true ` si l'objet `match` a été obtenu à la suite de l'appel de la fonction ` QRegularExpression::match()` sur un objet ` QRegularExpression ` valide ; renvoie ` false ` si l'appel ` QRegularExpression ` n'était pas valide.
Voir également QRegularExpression::match() et QRegularExpression::isValid().
int QRegularExpressionMatch::lastCapturedIndex() const
Renvoie l'index du dernier groupe de capture ayant capturé quelque chose, y compris le groupe de capture implicite 0. Cela permet d'extraire toutes les sous-chaînes qui ont été capturées :
QRegularExpressionMatch match = re.match(string);
for (int i = 0; i <= match.lastCapturedIndex(); ++i) {
QString captured = match.captured(i);
// ...
}Notez que certains groupes de capture dont l'indice est inférieur à lastCapturedIndex() peuvent ne pas avoir trouvé de correspondance et n'avoir donc rien capturé.
Si l’expression régulière n’a pas abouti à une correspondance, cette fonction renvoie -1.
Voir également hasCaptured(), captured(), capturedStart(), capturedEnd() et capturedLength().
QRegularExpression::MatchOptions QRegularExpressionMatch::matchOptions() const
Renvoie les options de correspondance utilisées pour obtenir cet objet ` QRegularExpressionMatch `, c'est-à-dire les options de correspondance transmises à ` QRegularExpression::match()` ou ` QRegularExpression::globalMatch()`.
Voir également QRegularExpression::match(), regularExpression() et matchType().
QRegularExpression::MatchType QRegularExpressionMatch::matchType() const
Renvoie le type de correspondance utilisé pour obtenir cet objet ` QRegularExpressionMatch `, c'est-à-dire le type de correspondance qui a été transmis aux méthodes ` QRegularExpression::match()` ou ` QRegularExpression::globalMatch()`.
Voir également QRegularExpression::match(), regularExpression() et matchOptions().
QRegularExpression QRegularExpressionMatch::regularExpression() const
Renvoie l'objet ` QRegularExpression ` dont la fonction `match()` a renvoyé cet objet.
Voir également QRegularExpression::match(), matchType() et matchOptions().
[noexcept] void QRegularExpressionMatch::swap(QRegularExpressionMatch &other)
Permute le résultat de ce match avec celui de other. Cette opération est très rapide et ne rencontre jamais d'échec.
[noexcept] QRegularExpressionMatch &QRegularExpressionMatch::operator=(QRegularExpressionMatch &&match)
La fonction « move-assign » attribue le résultat de la comparaison match à cet objet et renvoie une référence à ce résultat.
Notez qu’un objet QRegularExpressionMatch dont le contenu a été déplacé ne peut être que détruit ou assigné. L’effet de l’appel à des fonctions autres que le destructeur ou l’un des opérateurs d’affectation est indéfini.
QRegularExpressionMatch &QRegularExpressionMatch::operator=(const QRegularExpressionMatch &match)
Attribue le résultat de la correspondance match à cet objet et renvoie une référence à la copie.
Éléments non membres associés
QDebug operator<<(QDebug debug, const QRegularExpressionMatch &match)
Enregistre l'objet « match » match dans l'objet de débogage debug à des fins de débogage.
Voir également Techniques de débogage.
© 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.