Функция “regexpIndex()” обеспечивает сопоставление с шаблоном с помощью регулярных выражений. Функция выполняет поиск соответствия указанному символу, начиная с заданной позиции.
Краткий обзор
int regexpIndex(строковое регулярное выражение, строковая строка [, параметры сопоставления]);
Параметр | Описание |
rexexp | Регулярное выражение. Примером может быть, например, «[a]+” В этом примере выполняется поиск символа a. Знак + выполняет поиск по букве один или несколько раз, что означает, что знак + обозначает по крайней мере однократное повторение. |
строка | Строка, которая проверяется. |
Опции | Для сопоставления могут использоваться следующие клавиши: StartPosition: задает начальную позицию для поиска: (По умолчанию: int 0 = начало строки). -1 означает, что функция выполняет поиск символов, начинающихся с последнего символа строки. При значении -2 функция выполняет поиск, начиная с предпоследнего символа и т.д. С учетом регистра: установите соответствие с учетом регистра (по умолчанию: bool false). Установите минимальное соответствие (по умолчанию: bool false). Пример минимального соответствия см. в главе regexpSplit(). |
Возвращаемое значение
- Функция возвращает позицию первого совпадения с искомым символом. Индекс начинается с 0. Это означает, что первым совпадением символа s в слове “This” будет позиция 3.
- Функция возвращает значение -1, если совпадение не найдено.
- Функция возвращает значение -2, когда регулярное выражение содержит ошибку. Ошибки могут быть извлечены с помощью функции GetLastError().
- Функция возвращает -3, когда функция содержит неправильные аргументы.
Ошибки
Смотрите выше
Описание
Функция “regexpIndex()” обеспечивает сопоставление с шаблоном с помощью регулярных выражений. Функция выполняет поиск соответствия указанному символу, начиная с заданной позиции.
ПРИМЕР
В первом примере выполняется поиск буквы n, начиная с позиции 0 (начало текста). Функция возвращает первое совпадение буквы. Первое совпадение буквы n — это ein (дас ист эиn тестирует mit n). Индекс вычисляется, начиная с 0. Таким образом, пример возвращает значение 10.
Во втором примере выполняется поиск буквы n, начиная с конца текста. Функция возвращает первое совпадение буквы. Первое совпадение буквы n, начиная с конца текста, равно n (Das ist ein Test mit n). Индекс вычисляется, начиная с 0. Таким образом, пример возвращает 21.
main(mapping event)
{
int i = 0;
i = regexpIndex("[n]+", "Das ist ein Test mit n", makeMapping("startPosition", 0));
DebugN("Position von 'n' in Das ist ein Test mit n. Gesucht ab Position 0:", i);
i = regexpIndex("[n]+", "Das ist ein Test mit n", makeMapping("startPosition", -1));
DebugN("Position von 'n' in Das ist ein Test mit n. Gesucht ab Ende der Zeichenkette:", i);
}
Назначение
Регулярные выражения
Смотрите также