En esta página

QRegularExpressionMatchIterator Class

La clase QRegularExpressionMatchIterator proporciona un iterador sobre los resultados de una coincidencia global de un objeto QRegularExpression con una cadena. Más...

Cabecera: #include <QRegularExpressionMatchIterator>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

Nota: Todas las funciones de esta clase son reentrantes.

Funciones Públicas

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)

Descripción Detallada

Un objeto QRegularExpressionMatchIterator es un iterador de tipo Java sólo hacia adelante; puede obtenerse llamando a la función QRegularExpression::globalMatch(). Un nuevo QRegularExpressionMatchIterator se posicionará antes del primer resultado. A continuación, puede llamar a la función hasNext() para comprobar si hay más resultados disponibles; en caso afirmativo, la función next() devolverá el siguiente resultado y hará avanzar el iterador.

Cada resultado es un objeto QRegularExpressionMatch que contiene toda la información de ese resultado (incluidas las subcadenas capturadas).

Por ejemplo:

// extracts the words
QRegularExpression re("(\\w+)");
QString subject("the quick fox");
QRegularExpressionMatchIterator i = re.globalMatch(subject);
while (i.hasNext()) {
    QRegularExpressionMatch match = i.next();
    // ...
}

Además, QRegularExpressionMatchIterator ofrece una función peekNext() para obtener el siguiente resultado sin avanzar el iterador.

A partir de Qt 6.0, también es posible utilizar simplemente el resultado de QRegularExpression::globalMatch en un bucle for basado en rangos, por ejemplo así:

// 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)) {
    // ...
}

Puede recuperar el objeto QRegularExpression con el que se ha comparado 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 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 y QRegularExpressionMatch.

Documentación de las funciones miembro

QRegularExpressionMatchIterator::QRegularExpressionMatchIterator()

Construye un objeto QRegularExpressionMatchIterator vacío y válido. 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.

Invocar la función miembro hasNext() sobre el objeto construido devolverá false, ya que el iterador no está iterando sobre una secuencia válida de coincidencias.

QRegularExpressionMatchIterator::QRegularExpressionMatchIterator(const QRegularExpressionMatchIterator &iterator)

Construye un objeto QRegularExpressionMatchIterator como copia de iterator.

Véase también operator=().

[constexpr noexcept, since 6.1] QRegularExpressionMatchIterator::QRegularExpressionMatchIterator(QRegularExpressionMatchIterator &&iterator)

Construye un objeto QRegularExpressionMatchIterator moviendo desde iterator.

Ten en cuenta que un QRegularExpressionMatchIterator 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] QRegularExpressionMatchIterator::~QRegularExpressionMatchIterator()

Destruye el objeto QRegularExpressionMatchIterator.

bool QRegularExpressionMatchIterator::hasNext() const

Devuelve true si hay al menos un resultado coincidente por delante del iterador; en caso contrario devuelve false.

Véase también next().

bool QRegularExpressionMatchIterator::isValid() const

Devuelve true si el objeto iterador se obtuvo como resultado de la función QRegularExpression::globalMatch() invocada sobre un objeto QRegularExpression válido; devuelve false si QRegularExpression no era válido.

Véase también QRegularExpression::globalMatch() y QRegularExpression::isValid().

QRegularExpression::MatchOptions QRegularExpressionMatchIterator::matchOptions() const

Devuelve las opciones de coincidencia que se utilizaron para obtener este objeto QRegularExpressionMatchIterator, es decir, las opciones de coincidencia que se pasaron a QRegularExpression::globalMatch().

Véase también QRegularExpression::globalMatch(), regularExpression() y matchType().

QRegularExpression::MatchType QRegularExpressionMatchIterator::matchType() const

Devuelve el tipo de coincidencia que se utilizó para obtener este objeto QRegularExpressionMatchIterator, es decir, el tipo de coincidencia que se pasó a QRegularExpression::globalMatch().

Véase también QRegularExpression::globalMatch(), regularExpression() y matchOptions().

QRegularExpressionMatch QRegularExpressionMatchIterator::next()

Devuelve el siguiente resultado coincidente y avanza el iterador una posición.

Nota: Llamar a esta función cuando el iterador está al final del conjunto de resultados conduce a resultados indefinidos.

QRegularExpressionMatch QRegularExpressionMatchIterator::peekNext() const

Devuelve el siguiente resultado coincidente sin mover el iterador.

Nota: Llamar a esta función cuando el iterador está al final del conjunto de resultados conduce a resultados indefinidos.

QRegularExpression QRegularExpressionMatchIterator::regularExpression() const

Devuelve el objeto QRegularExpression cuya función globalMatch() devolvió este objeto.

Véase también QRegularExpression::globalMatch(), matchType() y matchOptions().

[noexcept] void QRegularExpressionMatchIterator::swap(QRegularExpressionMatchIterator &other)

Intercambia este iterador con other. Esta operación es muy rápida y nunca falla.

[noexcept] QRegularExpressionMatchIterator &QRegularExpressionMatchIterator::operator=(QRegularExpressionMatchIterator &&iterator)

Mover-asigna el iterator a este objeto, y devuelve una referencia al resultado.

Tenga en cuenta que un QRegularExpressionMatchIterator movido 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.

QRegularExpressionMatchIterator &QRegularExpressionMatchIterator::operator=(const QRegularExpressionMatchIterator &iterator)

Asigna el iterador iterator a este objeto, y devuelve una referencia a la copia.

© 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.