Класс QRegularExpressionMatch
Класс QRegularExpressionMatch предоставляет результаты сопоставления QRegularExpression с строкой. Подробнее...
| Header: | #include <QRegularExpressionMatch> |
| qmake: | QT += core |
| Since: | Qt 5.0 |
Этот класс был введен в Qt 5.0.
Примечание: Все функции в этом классе являются реентерабельными.
Открытые функции
| 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 |
| 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) |
Связанные нечлены
| 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() соответственно.
Пожалуйста, обратитесь к документации QRegularExpression для получения дополнительной информации о классах регулярных выражений Qt.
См. также QRegularExpression.
Документация по функциям-членам
QRegularExpressionMatch::QRegularExpressionMatch(const QRegularExpressionMatch &match)
Конструирует результат сопоставления, копируя результат заданного match.
См. также operator=().
QRegularExpressionMatch::QRegularExpressionMatch()
Конструирует допустимый, пустой объект QRegularExpressionMatch. Регулярное выражение устанавливается в значение по умолчанию; тип сопоставления в QRegularExpression::NoMatch, а параметры сопоставления в QRegularExpression::NoMatchOption.
Объект не будет сообщать о сопоставлении через функции-члены hasMatch() и hasPartialMatch().
Эта функция была введена в Qt 5.1.
QRegularExpressionMatch &QRegularExpressionMatch::operator=(QRegularExpressionMatch &&match)
Перемещает результат сопоставления match в этот объект и возвращает ссылку на копию.
QRegularExpressionMatch &QRegularExpressionMatch::operator=(const QRegularExpressionMatch &match)
Присваивает результат сопоставления match этому объекту и возвращает ссылку на копию.
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
Возвращает представление подстроки, захваченной n-й группой захвата.
Если n-я группа захвата не захватила строку или такая группа не существует, возвращает нулевое 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 с этим результатом сопоставления. Эта операция очень быстрая и никогда не терпит неудачу.
Связанные внешние функции
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.14/qregularexpressionmatch.html