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