Функция “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);
}
Назначение
Регулярные выражения
Смотри также