QRegularExpressionMatch Class
La clase QRegularExpressionMatch proporciona los resultados de la comparación de un QRegularExpression con una cadena. Más...
| Cabecera: | #include <QRegularExpressionMatch> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core)target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
- Lista de todos los miembros, incluyendo los heredados
- QRegularExpressionMatch es parte de Clases Implícitamente Compartidas y Clases para datos de cadena.
Nota: Todas las funciones de esta clase son reentrantes.
Funciones Públicas
| 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) |
No miembros relacionados
| QDebug | operator<<(QDebug debug, const QRegularExpressionMatch &match) |
Descripción Detallada
Un objeto QRegularExpressionMatch puede obtenerse llamando a la función QRegularExpression::match(), o como resultado único de una coincidencia global a partir de un QRegularExpressionMatchIterator.
El éxito o el fracaso de un intento de coincidencia puede inspeccionarse llamando a la función hasMatch(). QRegularExpressionMatch también informa del éxito de una coincidencia parcial a través de la función hasPartialMatch().
Además, QRegularExpressionMatch devuelve las subcadenas capturadas por los grupos de captura en la cadena patrón. El grupo de captura implícito con índice 0 captura el resultado de toda la coincidencia. La función captured() devuelve cada subcadena capturada, ya sea por el índice del grupo de captura o por su nombre:
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" }
Para cada subcadena capturada es posible consultar sus desplazamientos inicial y final en la cadena de asunto llamando a las funciones capturedStart() y capturedEnd(), respectivamente. La longitud de cada subcadena capturada está disponible mediante la función capturedLength().
La función de conveniencia capturedTexts() devolverá todas las subcadenas capturadas a la vez (incluida la subcadena coincidente con el patrón completo) en el orden en que han sido capturadas por grupos de captura; es decir, captured(i) == capturedTexts().at(i).
Puede recuperar el objeto QRegularExpression con el que coincidió la cadena de asunto llamando a la función regularExpression(); el tipo de coincidencia y las opciones de coincidencia también están disponibles llamando a las funciones matchType() y matchOptions() respectivamente.
Consulte la documentación de QRegularExpression para obtener más información sobre las clases de expresiones regulares de Qt.
Véase también QRegularExpression.
Documentación de las funciones miembro
QRegularExpressionMatch::QRegularExpressionMatch()
Construye un objeto QRegularExpressionMatch válido y vacío. La expresión regular se establece a una construida por defecto; el tipo de coincidencia a QRegularExpression::NoMatch y las opciones de coincidencia a QRegularExpression::NoMatchOption.
El objeto no informará de ninguna coincidencia a través de las funciones miembro hasMatch() y hasPartialMatch().
QRegularExpressionMatch::QRegularExpressionMatch(const QRegularExpressionMatch &match)
Construye un resultado de coincidencia copiando el resultado del match dado.
Véase también operator=().
[constexpr noexcept, since 6.1] QRegularExpressionMatch::QRegularExpressionMatch(QRegularExpressionMatch &&match)
Construye una coincidencia moviendo el resultado desde la dirección match.
Tenga en cuenta que un QRegularExpressionMatch movido desde sólo puede ser destruido o asignado. El efecto de llamar a otras funciones que no sean el destructor o uno de los operadores de asignación es indefinido.
Esta función se introdujo en Qt 6.1.
Véase también operator=().
[noexcept] QRegularExpressionMatch::~QRegularExpressionMatch()
Destruye el resultado del partido.
QString QRegularExpressionMatch::captured(QAnyStringView name) const
Devuelve la subcadena capturada por el grupo de captura llamado name.
Si el grupo de captura llamado name no capturó una cadena, o si no existe un grupo de captura llamado name, devuelve un valor nulo QString.
Nota: En versiones de Qt anteriores a la 6.8, esta función tomaba QString o QStringView, no QAnyStringView.
Véase también capturedView(), capturedStart(), capturedEnd(), capturedLength(), y QString::isNull().
QString QRegularExpressionMatch::captured(int nth = 0) const
Devuelve la subcadena capturada por el grupo de captura nth.
Si el grupo de captura nth no capturó una cadena, o si no existe tal grupo de captura, devuelve un QString nulo.
Nota: El grupo de captura implícito número 0 captura la subcadena coincidente con el patrón completo.
Véase también capturedView(), lastCapturedIndex(), capturedStart(), capturedEnd(), capturedLength() y QString::isNull().
qsizetype QRegularExpressionMatch::capturedEnd(QAnyStringView name) const
Devuelve el desplazamiento dentro de la cadena de asunto inmediatamente después de la posición final de la subcadena capturada por el grupo de captura denominado name. Si el grupo de captura llamado name no capturó una cadena o no existe, devuelve -1.
Nota: En versiones de Qt anteriores a la 6.8, esta función tomaba QString o QStringView, no QAnyStringView.
Véase también capturedStart(), capturedLength(), y captured().
qsizetype QRegularExpressionMatch::capturedEnd(int nth = 0) const
Devuelve el desplazamiento dentro de la cadena de asunto inmediatamente después de la posición final de la subcadena capturada por el grupo de captura nth. Si el grupo de captura nth no capturó una cadena o no existe, devuelve -1.
Véase también capturedStart(), capturedLength() y captured().
qsizetype QRegularExpressionMatch::capturedLength(QAnyStringView name) const
Devuelve la longitud de la subcadena capturada por el grupo de captura denominado name.
Nota: Esta función devuelve 0 si el grupo de captura llamado name no capturó una cadena o no existe.
Nota: En versiones de Qt anteriores a la 6.8, esta función tomaba QString o QStringView, no QAnyStringView.
Véase también capturedStart(), capturedEnd(), y captured().
qsizetype QRegularExpressionMatch::capturedLength(int nth = 0) const
Devuelve la longitud de la subcadena capturada por el grupo de captura nth.
Nota: Esta función devuelve 0 si el grupo de captura nth no capturó una cadena o no existe.
Véase también capturedStart(), capturedEnd() y captured().
qsizetype QRegularExpressionMatch::capturedStart(QAnyStringView name) const
Devuelve el desplazamiento dentro de la cadena de asunto correspondiente a la posición inicial de la subcadena capturada por el grupo de captura denominado name. Si el grupo de captura llamado name no capturó una cadena o no existe, devuelve -1.
Nota: En versiones de Qt anteriores a la 6.8, esta función tomaba QString o QStringView, no QAnyStringView.
Véase también capturedEnd(), capturedLength(), y captured().
qsizetype QRegularExpressionMatch::capturedStart(int nth = 0) const
Devuelve el desplazamiento dentro de la cadena de asunto correspondiente a la posición inicial de la subcadena capturada por el grupo de captura nth. Si el grupo de captura nth no capturó una cadena o no existe, devuelve -1.
Véase también capturedEnd(), capturedLength() y captured().
QStringList QRegularExpressionMatch::capturedTexts() const
Devuelve una lista de todas las cadenas capturadas por los grupos de captura, en el orden en que los propios grupos aparecen en la cadena del patrón. La lista incluye el grupo de captura implícito número 0, que captura la subcadena coincidente con todo el patrón.
QStringView QRegularExpressionMatch::capturedView(QAnyStringView name) const
Devuelve una vista de la cadena capturada por el grupo de captura llamado name.
Si el grupo de captura llamado name no capturó una cadena, o si no existe un grupo de captura llamado name, devuelve un valor nulo QStringView.
Nota: En las versiones de Qt anteriores a la 6.8, esta función tomaba QString o QStringView, no QAnyStringView.
Véase también captured(), capturedStart(), capturedEnd(), capturedLength(), y QStringView::isNull().
QStringView QRegularExpressionMatch::capturedView(int nth = 0) const
Devuelve una vista de la subcadena capturada por el grupo de captura nth.
Si el grupo de captura nth no capturó una cadena, o si no existe tal grupo de captura, devuelve un QStringView nulo.
Nota: El grupo de captura implícito número 0 captura la subcadena coincidente con el patrón completo.
Véase también captured(), lastCapturedIndex(), capturedStart(), capturedEnd(), capturedLength() y QStringView::isNull().
[since 6.3] bool QRegularExpressionMatch::hasCaptured(QAnyStringView name) const
Devuelve true si el grupo de captura llamado name capturó algo en la cadena de asunto, y false en caso contrario (o si no hay ningún grupo de captura llamado name).
Nota: es posible que algunos grupos de captura de una expresión regular no hayan capturado nada aunque la expresión regular coincida. Esto puede ocurrir, por ejemplo, si se utiliza un operador condicional en el patrón:
QRegularExpression re("([a-z]+)|([A-Z]+)");QRegularExpressionMatch m = re.match("MAYÚSCULAS");if (m.hasMatch()) { qDebug() << m.hasCaptured(0); // true qDebug() << m.hasCaptured(1); // false qDebug() << m.hasCaptured(2); // true }
Del mismo modo, un grupo de captura puede capturar una subcadena de longitud 0; esta función devolverá true para un grupo de captura de este tipo.
Nota: En versiones de Qt anteriores a la 6.8, esta función tomaba QString o QStringView, no QAnyStringView.
Esta función se introdujo en Qt 6.3.
Véase también captured() y hasMatch().
[since 6.3] bool QRegularExpressionMatch::hasCaptured(int nth) const
Devuelve true si el grupo de captura nth capturó algo en la cadena de asunto, y false en caso contrario (o si no existe tal grupo de captura).
Nota: El grupo de captura implícito número 0 captura la subcadena coincidente con el patrón completo.
Nota: Algunos grupos de captura de una expresión regular pueden no haber capturado nada aunque la expresión regular coincida. Esto puede ocurrir, por ejemplo, si se utiliza un operador condicional en el patrón:
QRegularExpression re("([a-z]+)|([A-Z]+)");QRegularExpressionMatch m = re.match("MAYÚSCULAS");if (m.hasMatch()) { qDebug() << m.hasCaptured(0); // true qDebug() << m.hasCaptured(1); // false qDebug() << m.hasCaptured(2); // true }
Del mismo modo, un grupo de captura puede capturar una subcadena de longitud 0; esta función devolverá true para un grupo de captura de este tipo.
Esta función se introdujo en Qt 6.3.
Véase también captured(), lastCapturedIndex(), y hasMatch().
bool QRegularExpressionMatch::hasMatch() const
Devuelve true si la expresión regular coincide con la cadena de asunto, o false en caso contrario.
Véase también QRegularExpression::match() y hasPartialMatch().
bool QRegularExpressionMatch::hasPartialMatch() const
Devuelve true si la expresión regular coincide parcialmente con la cadena de asunto, o false en caso contrario.
Nota: Sólo una coincidencia que utilice explícitamente uno de los tipos de coincidencia parcial puede producir una coincidencia parcial. Aún así, si tal coincidencia tiene éxito totalmente, esta función devolverá false, mientras que hasMatch() devolverá true.
Véase también QRegularExpression::match(), QRegularExpression::MatchType, y hasMatch().
bool QRegularExpressionMatch::isValid() const
Devuelve true si el objeto coincidente se obtuvo como resultado de la función QRegularExpression::match() invocada sobre un objeto QRegularExpression válido; devuelve false si el QRegularExpression no era válido.
Véase también QRegularExpression::match() y QRegularExpression::isValid().
int QRegularExpressionMatch::lastCapturedIndex() const
Devuelve el índice del último grupo de captura que capturó algo, incluido el grupo de captura implícito 0. Esto se puede utilizar para extraer todas las subcadenas que se capturaron:
QRegularExpressionMatch match = re.match(string); for (int i = 0; i <= match.lastCapturedIndex(); ++i) { QString captured = match.captured(i); // ... }
Tenga en cuenta que algunos de los grupos de captura con un índice menor que lastCapturedIndex() podrían no haber coincidido y, por tanto, no haber capturado nada.
Si la expresión regular no coincide, esta función devuelve -1.
Véase también hasCaptured(), captured(), capturedStart(), capturedEnd() y capturedLength().
QRegularExpression::MatchOptions QRegularExpressionMatch::matchOptions() const
Devuelve las opciones de coincidencia que se utilizaron para obtener este objeto QRegularExpressionMatch, es decir, las opciones de coincidencia que se pasaron a QRegularExpression::match() o QRegularExpression::globalMatch().
Véase también QRegularExpression::match(), regularExpression() y matchType().
QRegularExpression::MatchType QRegularExpressionMatch::matchType() const
Devuelve el tipo de coincidencia que se utilizó para obtener este objeto QRegularExpressionMatch, es decir, el tipo de coincidencia que se pasó a QRegularExpression::match() o QRegularExpression::globalMatch().
Véase también QRegularExpression::match(), regularExpression() y matchOptions().
QRegularExpression QRegularExpressionMatch::regularExpression() const
Devuelve el objeto QRegularExpression cuya función match() devolvió este objeto.
Véase también QRegularExpression::match(), matchType() y matchOptions().
[noexcept] void QRegularExpressionMatch::swap(QRegularExpressionMatch &other)
Intercambia este resultado de coincidencia con other. Esta operación es muy rápida y nunca falla.
[noexcept] QRegularExpressionMatch &QRegularExpressionMatch::operator=(QRegularExpressionMatch &&match)
Mover-asigna el resultado de la coincidencia match a este objeto, y devuelve una referencia al resultado.
Tenga en cuenta que un objeto movido desde QRegularExpressionMatch sólo puede ser destruido o asignado. El efecto de llamar a otras funciones que no sean el destructor o uno de los operadores de asignación es indefinido.
QRegularExpressionMatch &QRegularExpressionMatch::operator=(const QRegularExpressionMatch &match)
Asigna el resultado de la coincidencia match a este objeto y devuelve una referencia a la copia.
No miembros relacionados
QDebug operator<<(QDebug debug, const QRegularExpressionMatch &match)
Escribe el objeto coincidente match en el objeto de depuración debug con fines de depuración.
Véase también Técnicas de depuración.
© 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.