Spec-Zone.ru › Qt 6.1

Класс QRegularExpressionMatchIterator

Класс QRegularExpressionMatchIterator предоставляет итератор по результатам глобального поиска объекта QRegularExpression в строке. Подробнее...

Заголовок: #include <QRegularExpressionMatchIterator>
CMake: find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
С момента: Qt 5.0
  • Список всех членов, включая унаследованные

Примечание: Все функции в этом классе являются повторно-входными.

Открытые функции

QRegularExpressionMatchIterator(QRegularExpressionMatchIterator &&iterator)
QRegularExpressionMatchIterator(const QRegularExpressionMatchIterator &iterator)
QRegularExpressionMatchIterator()
QRegularExpressionMatchIterator & operator=(QRegularExpressionMatchIterator &&iterator)
QRegularExpressionMatchIterator & operator=(const 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 — это итератор только вперед, похожий на Java-итератор; его можно получить, вызвав функцию QRegularExpression::globalMatch(). Новый QRegularExpressionMatchIterator будет расположен перед первым результатом. Затем вы можете вызвать функцию hasNext(), чтобы проверить, есть ли еще результаты; если да, функция next() вернёт следующий результат и продвинет итератор.

Каждый результат — это объект QRegularExpressionMatch, содержащий всю информацию об этом результате (включая подстроки, выделенные по группам).

Например:

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

Кроме того, QRegularExpressionMatchIterator предлагает функцию peekNext() для получения следующего результата без продвижения итератора.

Начиная с Qt 6.0, также можно просто использовать результат QRegularExpression::globalMatch в цикле range-based for, например, так:

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

Вы можете получить объект QRegularExpression, по которому выполнялся поиск в строке, вызвав функцию regularExpression(); тип совпадения и параметры совпадения также доступны с помощью функций matchType() и matchOptions() соответственно.

Дополнительную информацию о классах регулярных выражений Qt см. в документации по QRegularExpression.

См. также QRegularExpression и QRegularExpressionMatch.

Документация по функциям-членам

[since 6.1] QRegularExpressionMatchIterator::QRegularExpressionMatchIterator(QRegularExpressionMatchIterator &&iterator)

Конструирует объект QRegularExpressionMatchIterator, перемещая данные из iterator.

Обратите внимание, что измененный QRegularExpressionMatchIterator может быть только уничтожен или присвоен. Эффект вызова других функций, кроме деструктора или одного из операторов присваивания, не определён.

Эта функция была введена в Qt 6.1.

См. также operator=().

QRegularExpressionMatchIterator::QRegularExpressionMatchIterator(const QRegularExpressionMatchIterator &iterator)

Конструирует объект QRegularExpressionMatchIterator как копию iterator.

См. также operator=().

[since 5.1] QRegularExpressionMatchIterator::QRegularExpressionMatchIterator()

Конструирует пустой, валидный объект QRegularExpressionMatchIterator. Регулярное выражение устанавливается по умолчанию; тип совпадения — QRegularExpression::NoMatch, а параметры совпадения — QRegularExpression::NoMatchOption.

Вызов члена hasNext() для созданного объекта вернёт false, так как итератор не итерирует по валидному набору совпадений.

Эта функция была введена в Qt 5.1.

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

Перемещающее присваивание iterator этому объекту и возвращает ссылку на результат.

Обратите внимание, что перемещённый QRegularExpressionMatchIterator может быть только уничтожен или присвоен. Эффект вызова других функций, кроме деструктора или одного из операторов присваивания, не определён.

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

Присваивает итератор iterator этому объекту и возвращает ссылку на копию.

QRegularExpressionMatchIterator::~QRegularExpressionMatchIterator()

Уничтожает объект QRegularExpressionMatchIterator.

bool QRegularExpressionMatchIterator::hasNext() const

Возвращает true , если есть по крайней мере один результат совпадения перед итератором; в противном случае возвращает false.

См. также next().

bool QRegularExpressionMatchIterator::isValid() const

Возвращает true , если объект итератора был получен в результате вызова функции QRegularExpression::globalMatch() для валидного объекта QRegularExpression; возвращает false , если QRegularExpression был невалиден.

См. также QRegularExpression::globalMatch() и QRegularExpression::isValid().

QRegularExpression::MatchOptions QRegularExpressionMatchIterator::matchOptions() const

Возвращает параметры совпадения, которые были использованы для получения этого объекта QRegularExpressionMatchIterator, то есть параметры совпадения, которые были переданы в QRegularExpression::globalMatch().

См. также QRegularExpression::globalMatch(), regularExpression() и matchType().

QRegularExpression::MatchType QRegularExpressionMatchIterator::matchType() const

Возвращает тип сопоставления, который использовался для получения этого объекта QRegularExpressionMatchIterator, то есть тип сопоставления, переданный в QRegularExpression::globalMatch().

См. также QRegularExpression::globalMatch(), regularExpression() и matchOptions().

QRegularExpressionMatch QRegularExpressionMatchIterator::next()

Возвращает результат следующего сопоставления и перемещает итератор на одну позицию.

Примечание: Вызов этой функции, когда итератор находится в конце набора результатов, приводит к неопределённым последствиям.

QRegularExpressionMatch QRegularExpressionMatchIterator::peekNext() const

Возвращает результат следующего сопоставления без перемещения итератора.

Примечание: Вызов этой функции, когда итератор находится в конце набора результатов, приводит к неопределённым последствиям.

QRegularExpression QRegularExpressionMatchIterator::regularExpression() const

Возвращает объект QRegularExpression, чья функция globalMatch() вернула этот объект.

См. также QRegularExpression::globalMatch(), matchType() и matchOptions().

void QRegularExpressionMatchIterator::swap(QRegularExpressionMatchIterator &other)

Меняет местами итератор other с этим объектом итератора. Эта операция очень быстрая и никогда не приводит к ошибке.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qregularexpressionmatchiterator.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API