Spec-Zone.ru › Qt 5.9

Класс 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
int capturedEnd(int nth = 0) const
int capturedEnd(const QString &name) const
int capturedLength(int nth = 0) const
int capturedLength(const QString &name) const
QStringRef capturedRef(int nth = 0) const
QStringRef capturedRef(const QString &name) const
int capturedStart(int nth = 0) const
int capturedStart(const QString &name) const
QStringList capturedTexts() 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() соответственно.

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

См. также 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(), lastCapturedIndex(), capturedStart(), capturedEnd(), capturedLength(), и QString::isNull().

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

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

См. также capturedRef(), 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::capturedLength(int nth = 0) const

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

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

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

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

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

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

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

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

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

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

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

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

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

QStringList QRegularExpressionMatch::capturedTexts() const

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

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

Spec-Zone.ru

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