Spec-Zone.ru › Qt 5.6

Класс 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/archives/qt-5.6/qregularexpressionmatch.html

Spec-Zone.ru

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