Spec-Zone.ru › Qt 5.9

Класс QRegularExpressionMatchIterator

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

Заголовок: #include <QRegularExpressionMatchIterator>
qmake: QT += core
С момента: Qt 5.0
  • Список всех членов, включая унаследованные

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

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

QRegularExpressionMatchIterator()
QRegularExpressionMatchIterator(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 & operator=(const QRegularExpressionMatchIterator &iterator)
QRegularExpressionMatchIterator & operator=(QRegularExpressionMatchIterator &&iterator)

Подробное описание

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

Объект 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() для получения следующего результата без перемещения итератора.

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

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

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

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

QRegularExpressionMatchIterator::QRegularExpressionMatchIterator()

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

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

Функция была добавлена в Qt 5.1.

QRegularExpressionMatchIterator::QRegularExpressionMatchIterator(const QRegularExpressionMatchIterator &iterator)

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

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

QRegularExpressionMatchIterator::~QRegularExpressionMatchIterator()

Удаляет объект QRegularExpressionMatchIterator.

bool QRegularExpressionMatchIterator::hasNext() const

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

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

bool QRegularExpressionMatchIterator::isValid() const

Возвращает true true, если объект итератора получен в результате вызова функции QRegularExpression::globalMatch() для валидного объекта QRegularExpression; возвращает false 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 с этим объектом итератора. Эта операция очень быстрая и никогда не терпит неудачу.

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

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

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

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

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

Spec-Zone.ru

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