Spec-Zone.ru › Qt 5.12

Класс 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.

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

См. также 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.

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

См. также 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().

QStringList QRegularExpressionMatch::capturedTexts() const

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

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

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

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

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

Эта функция была добавлена в 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/qt-5.12/qregularexpressionmatch.html

Spec-Zone.ru

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