regexpLastIndex()

Функция “regexpLastIndex()” обеспечивает сопоставление с шаблоном с помощью регулярных выражений. Функция выполняет поиск соответствия указанным символам, начиная с конца строки.

Краткий обзор

int regexpLastIndex(строковое регулярное выражение, строковая строка [, параметры сопоставления]);

ПараметрОписание
rexexpРегулярное выражение. Допустимые символы см. в http://doc.qt.io/qt-4.8/qregexp.php#capturedTexts разделе “Символы и сокращения для наборов символов”.
Примером может быть, например, “[a-z| A-Z]+” .
В этом примере выполняется поиск букв из a-z и AZ, а знак + выполняет поиск буквы один или несколько раз, что означает, что знак + обозначает по крайней мере однократное повторение.
строкаСтрока, которая проверяется.
ОпцииДля сопоставления могут использоваться следующие клавиши:
StartPosition: задает начальную позицию для поиска:
(По умолчанию: int 0 = начало строки). -1 означает, что функция выполняет поиск символов, начинающихся с последнего символа строки. При значении -2 функция выполняет поиск, начиная с предпоследнего символа и т.д.
Чувствительно к регистру: установите соответствие с учетом регистра
(по умолчанию: bool false).
Установите минимальное соответствие (по умолчанию: bool false). Пример минимального соответствия см. в главе regexpSplit().

Возвращаемое значение

  • Функция возвращает позицию первого совпадения искомого символа (ов). Индекс начинается с 0.
  • Функция возвращает значение -1, если совпадение не найдено.
  • Функция возвращает значение -2, когда регулярное выражение содержит ошибку. Ошибки могут быть извлечены с помощью функции GetLastError().
  • Функция возвращает -3, когда функция содержит неправильные аргументы.

Ошибки

Смотрите выше

Описание

Функция “regexpLastIndex()” обеспечивает сопоставление с шаблоном с помощью регулярных выражений. Функция выполняет поиск соответствия указанным символам, начиная с конца строки.

ПРИМЕР

Первый пример, содержащий “( [hH])+”, выполняет поиск буквы h или H с предшествующим пробелом, начиная с конца текста. Функция возвращает первое совпадение. Возвращается первое совпадение с буквой H или h с предшествующим пробелом. Первое совпадение с конца строки — [пробел]Ханна. Индекс вычисляется, начиная с 0. Таким образом, пример возвращает 22.

Во втором примере с «[hH]+” выполняется поиск букв h или H без пробела. Первое совпадение, начинающееся с конца текста с h или H без пробела, — это Ellah. Индекс вычисляется начиная с 0. Таким образом, пример возвращает 62.

В третьем примере выполняется поиск букв h или H без пробелов, начинающихся с символа, следующего за последним символом в конце строки (“StartPosition”,-2). Первое совпадение с конца — Mariah. Индекс вычисляется начиная с 0. Таким образом, пример возвращает 44.


main(mapping event)
{
string line ="Heinrich, Hans, Heike, Hannah, Martin, Mariah, Mia, Eric, Ellah";
int i = 0;
i = regexpLastIndex("( [hH])+",line,makeMapping("startPosition",-1));
DebugN("ReturnValue:", i);

i = regexpLastIndex("[hH]+",line,makeMapping("startPosition",-1));
DebugN("ReturnValue:", i);
i = regexpLastIndex("[hH]+",line,makeMapping("startPosition",-2));
DebugN("ReturnValue:", i);
}

Назначение

Регулярные выражения

Смотри также

regexpIndex()regexpSplit()

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *