Spec-Zone.ru › Qt 6.0

Класс QRegularExpressionMatch

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

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

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

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

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

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

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

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

Объект 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(const QRegularExpressionMatch &match)

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

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

[since 5.1] QRegularExpressionMatch::QRegularExpressionMatch()

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

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

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

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

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

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

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

QRegularExpressionMatch::~QRegularExpressionMatch()

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

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

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

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

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

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

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

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

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

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

QString QRegularExpressionMatch::captured(QStringView name) const

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

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

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

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

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

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

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

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

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

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

qsizetype QRegularExpressionMatch::capturedEnd(QStringView name) const

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

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

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

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

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

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

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

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

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

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

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

qsizetype QRegularExpressionMatch::capturedLength(QStringView name) const

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

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

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

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

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

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

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

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

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

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

qsizetype QRegularExpressionMatch::capturedStart(QStringView name) const

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

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

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

QStringList QRegularExpressionMatch::capturedTexts() const

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

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

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

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

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

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

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

QStringView QRegularExpressionMatch::capturedView(QStringView name) const

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

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

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

См. также captured(), capturedStart(), capturedEnd(), capturedLength() и QStringView::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 с текущим результатом совпадения. Эта операция очень быстрая и никогда не терпит неудачу.

Связанные нечлены

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/qt-6.0/qregularexpressionmatch.html

Spec-Zone.ru

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