Spec-Zone.ru › Qt 5.11

Класс QRegularExpressionMatch

Класс QRegularExpressionMatch предоставляет результаты сопоставления QRegularExpression со строкой. Подробнее...

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

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

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

QRegularExpressionMatch()
QRegularExpressionMatch(const QRegularExpressionMatch &match)
~QRegularExpressionMatch()
QString captured(int nth = 0) const
QString captured(const QString &name) const
QString captured(QStringView name) const
int capturedEnd(int nth = 0) const
int capturedEnd(const QString &name) const
int capturedEnd(QStringView name) const
int capturedLength(int nth = 0) const
int capturedLength(const QString &name) const
int capturedLength(QStringView name) const
QStringRef capturedRef(int nth = 0) const
QStringRef capturedRef(const QString &name) const
QStringRef capturedRef(QStringView name) const
int capturedStart(int nth = 0) const
int capturedStart(const QString &name) const
int capturedStart(QStringView name) const
QStringList capturedTexts() const
QStringView capturedView(int nth = 0) const
QStringView capturedView(QStringView name) 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=(const QRegularExpressionMatch &match)
QRegularExpressionMatch & operator=(QRegularExpressionMatch &&match)

Связанные внешние функции

QDebug operator<<(QDebug debug, const QRegularExpressionMatch &match)

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

Класс QRegularExpressionMatch предоставляет результаты сопоставления QRegularExpression со строкой.

Объект QRegularExpressionMatch может быть получен вызовом функции QRegularExpression::match() или как отдельный результат глобального сопоставления из QRegularExpressionMatchIterator.

Успех или неудача попытки сопоставления могут быть проверены вызовом функции hasMatch(). QRegularExpressionMatch также сообщает об успешном частичном совпадении через функцию hasPartialMatch().

Кроме того, QRegularExpressionMatch возвращает подстроки, захваченные захватывающими группами в строке шаблона. Неявная захватывающая группа с индексом 0 захватывает результат всего сопоставления. Функция captured() возвращает каждую захваченную подстроку, либо по индексу захватывающей группы, либо по ее имени:

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"
}

Для каждой захваченной подстроки можно запросить ее начальные и конечные смещения в исходной строке, вызвав функции capturedStart() и capturedEnd() соответственно. Длина каждой захваченной подстроки доступна с помощью функции capturedLength().

Вспомогательная функция capturedTexts() вернет все захваченные подстроки сразу (включая подстроку, соответствующую всему шаблону) в порядке, в котором они были захвачены захватывающими группами; то есть captured(i) == capturedTexts().at(i).

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

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

См. также QRegularExpression.

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

QRegularExpressionMatch::QRegularExpressionMatch()

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

Объект сообщит об отсутствии совпадения через функции-члены hasMatch() и hasPartialMatch().

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

QRegularExpressionMatch::QRegularExpressionMatch(const QRegularExpressionMatch &match)

Конструирует результат сопоставления, копируя результат данного match.

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

QRegularExpressionMatch::~QRegularExpressionMatch()

Удаляет результат сопоставления.

QString QRegularExpressionMatch::captured(int nth = 0) const

Возвращает подстроку, захваченную nth-й группой захвата.

Если nth-я группа захвата не захватила строку или такая группа отсутствует, возвращает нулевую QString.

См. также capturedRef(), capturedView(), lastCapturedIndex(), capturedStart(), capturedEnd(), capturedLength() и QString::isNull().

QString QRegularExpressionMatch::captured(const QString &name) const

Возвращает подстроку, захваченную группой захвата с именем name.

Если группа захвата с именем name не захватила строку или такая группа отсутствует, возвращает нулевую QString.

См. также capturedRef(), capturedView(), capturedStart(), capturedEnd(), capturedLength() и QString::isNull().

QString QRegularExpressionMatch::captured(QStringView name) const

Возвращает подстроку, захваченную группой захвата с именем name.

Если группа захвата с именем name не захватила строку или такая группа отсутствует, возвращает нулевую QString.

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

См. также capturedRef(), capturedView(), capturedStart(), capturedEnd(), capturedLength() и QString::isNull().

int QRegularExpressionMatch::capturedEnd(int nth = 0) const

Возвращает смещение в строке-субъекте сразу после конечной позиции подстроки, захваченной nth-й группой захвата. Если nth-я группа захвата не захватила строку или не существует, возвращает -1.

См. также capturedStart(), capturedLength() и captured().

int QRegularExpressionMatch::capturedEnd(const QString &name) const

Возвращает смещение в строке-субъекте сразу после конечной позиции подстроки, захваченной группой захвата с именем name. Если группа захвата с именем name не захватила строку или не существует, возвращает -1.

См. также capturedStart(), capturedLength() и captured().

int QRegularExpressionMatch::capturedEnd(QStringView name) const

Возвращает смещение в строке-субъекте сразу после конечной позиции подстроки, захваченной группой захвата с именем name. Если группа захвата с именем name не захватила строку или не существует, возвращает -1.

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

См. также capturedStart(), capturedLength() и captured().

int QRegularExpressionMatch::capturedLength(int nth = 0) const

Возвращает длину подстроки, захваченной nth-й группой захвата.

Примечание: Эта функция возвращает 0, если nth-я группа захвата не захватила строку или не существует.

См. также capturedStart(), capturedEnd() и captured().

int QRegularExpressionMatch::capturedLength(const QString &name) const

Возвращает длину подстроки, захваченной группой захвата с именем name.

Примечание: Эта функция возвращает 0, если группа захвата с именем name не захватила строку или не существует.

См. также capturedStart(), capturedEnd() и captured().

int QRegularExpressionMatch::capturedLength(QStringView name) const

Возвращает длину подстроки, захваченной группой захвата с именем name.

Примечание: Эта функция возвращает 0, если группа захвата с именем name не захватила строку или не существует.

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

См. также capturedStart(), capturedEnd() и captured().

QStringRef QRegularExpressionMatch::capturedRef(int nth = 0) const

Возвращает ссылку на подстроку, захваченную nth-й группой захвата.

Если nth-я группа захвата не захватила строку или такая группа отсутствует, возвращает нулевую QStringRef.

См. также captured(), capturedView(), lastCapturedIndex(), capturedStart(), capturedEnd(), capturedLength() и QStringRef::isNull().

QStringRef QRegularExpressionMatch::capturedRef(const QString &name) const

Возвращает ссылку на строку, захваченную группой захвата с именем name.

Если группа захвата с именем name не захватила строку или такая группа отсутствует, возвращает нулевую QStringRef.

См. также captured(), capturedView(), capturedStart(), capturedEnd(), capturedLength() и QStringRef::isNull().

QStringRef QRegularExpressionMatch::capturedRef(QStringView name) const

Возвращает ссылку на строку, захваченную группой захвата с именем name.

Если группа захвата с именем name не захватила строку или такая группа отсутствует, возвращает нулевую QStringRef.

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

См. также captured(), capturedView(), capturedStart(), capturedEnd(), capturedLength() и QStringRef::isNull().

int QRegularExpressionMatch::capturedStart(int nth = 0) const

Возвращает смещение в строке-субъекте, соответствующее начальной позиции подстроки, захваченной nth-й группой захвата. Если nth-я группа захвата не захватила строку или не существует, возвращает -1.

См. также capturedEnd(), capturedLength() и captured().

int QRegularExpressionMatch::capturedStart(const QString &name) const

Возвращает смещение в строке-субъекте, соответствующее начальной позиции подстроки, захваченной группой захвата с именем name. Если группа захвата с именем name не захватила строку или не существует, возвращает -1.

См. также capturedEnd(), capturedLength() и captured().

int QRegularExpressionMatch::capturedStart(QStringView name) const

Возвращает смещение в строке-субъекте, соответствующее начальной позиции подстроки, захваченной группой захвата с именем name. Если группа захвата с именем name не захватила строку или не существует, возвращает -1.

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

См. также capturedEnd(), capturedLength() и captured().

END_OF_DOCUMENT_MARKER

QStringList QRegularExpressionMatch::capturedTexts() const

Возвращает список всех строк, захваченных группами захвата, в порядке их появления в строке шаблона.

QStringView QRegularExpressionMatch::capturedView(int nth = 0) const

Возвращает представление подстроки, захваченной nth-ой группой захвата.

Если nth-ая группа захвата не захватила строку или такой группы нет, возвращает нулевое QStringView.

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

См. также captured(), capturedRef(), lastCapturedIndex(), capturedStart(), capturedEnd(), capturedLength() и QStringView::isNull().

QStringView QRegularExpressionMatch::capturedView(QStringView name) const

Возвращает представление строки, захваченной группой захвата с именем name.

Если группа захвата с именем name не захватила строку или такой группы нет, возвращает нулевое QStringView.

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

См. также captured(), capturedRef(), capturedStart(), capturedEnd(), capturedLength() и QStringRef::isNull().

bool QRegularExpressionMatch::hasMatch() const

Возвращает true , если регулярное выражение совпало со строкой-исходником, в противном случае — false.

См. также QRegularExpression::match() и hasPartialMatch().

bool QRegularExpressionMatch::hasPartialMatch() const

Возвращает true , если регулярное выражение частично совпало со строкой-исходником, в противном случае — false.

Примечание: Только совпадение, явно использующее один из типов частичных совпадений, может привести к частичному совпадению. Тем не менее, если такое совпадение полностью успешно, эта функция вернёт false, а hasMatch() — true.

См. также QRegularExpression::match(), QRegularExpression::MatchType и hasMatch().

bool QRegularExpressionMatch::isValid() const

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

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

int QRegularExpressionMatch::lastCapturedIndex() const

Возвращает индекс последней группы захвата, которая захватила что-либо, включая неявную группу захвата 0. Это можно использовать для извлечения всех подстрок, которые были захвачены:

QRegularExpressionMatch match = re.match(string);
for (int i = 0; i <= match.lastCapturedIndex(); ++i) {
    QString captured = match.captured(i);
    // ...
}

Обратите внимание, что некоторые из групп захвата с индексом меньше lastCapturedIndex() могли не совпасть и, следовательно, ничего не захватить.

Если регулярное выражение не совпало, эта функция возвращает -1.

См. также captured(), capturedStart(), capturedEnd() и capturedLength().

QRegularExpression::MatchOptions QRegularExpressionMatch::matchOptions() const

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

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

QRegularExpression::MatchType QRegularExpressionMatch::matchType() const

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

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

QRegularExpression QRegularExpressionMatch::regularExpression() const

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

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

void QRegularExpressionMatch::swap(QRegularExpressionMatch &other)

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

QRegularExpressionMatch &QRegularExpressionMatch::operator=(const QRegularExpressionMatch &match)

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

QRegularExpressionMatch &QRegularExpressionMatch::operator=(QRegularExpressionMatch &&match)

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

Связанные нечлен-функции

QDebug operator<<(QDebug debug, const QRegularExpressionMatch &match)

Записывает объект совпадения match в объект отладки debug для целей отладки.

См. также Методы отладки.

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

Spec-Zone.ru

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