Класс 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/archives/qt-5.11/qregularexpressionmatchiterator.html