Spec-Zone.ru › Qt 6.1

Класс 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(QRegularExpressionMatch &&match)
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

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

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() соответственно.

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

См. также QRegularExpression.

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

[since 6.1] QRegularExpressionMatch::QRegularExpressionMatch(QRegularExpressionMatch &&match)

Создаёт результат сопоставления, перемещая результат из заданного match.

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

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

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

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 &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().

[since 5.10] 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().

[since 5.10] 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().

[since 5.10] 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().

[since 5.10] qsizetype QRegularExpressionMatch::capturedStart(QStringView name) const

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

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

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

QStringList QRegularExpressionMatch::capturedTexts() const

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

[since 5.10] QStringView QRegularExpressionMatch::capturedView(int nth = 0) const

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

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

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

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

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

[since 5.10] 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.1/qregularexpressionmatch.html

Spec-Zone.ru

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