Функция “regexpSplit()” обеспечивает сопоставление с шаблоном с помощью регулярных выражений.
Краткий обзор
int regexpSplit(string rexexp, строковая строка, dyn_string и результат, [параметры сопоставления];
Возвращаемое значение
- Функция возвращает >=0 (Положение совпадения), когда совпадение было успешно найдено.
- Функция возвращает значение -1, если совпадение не найдено.
- Функция возвращает значение -2, когда регулярное выражение содержит ошибку. Ошибки могут быть извлечены с помощью функции GetLastError().
- Функция возвращает -3, когда функция содержит неправильные аргументы.
Ошибки
Смотри выше
Описание
Функция “regexpSplit()” обеспечивает сопоставление с шаблоном с помощью регулярных выражений. Функция выполняет поиск соответствия указанным символам и выделяет их из строки.
ПРИМЕР
Первый пример выполняет поиск букв в строке “This?is6a55Test:=regexSplit### Функция” и выводит буквы:
WCCOAui1:[dyn_string 1 items
WCCOAui1: 1: «This»
WCCOAui1:][«This»]
WCCOAui1:[dyn_string 1 items
WCCOAui1: 1: «is»
WCCOAui1:][«is»]
WCCOAui1:[dyn_string 1 items
WCCOAui1: 1: «a»
WCCOAui1:][«a»]
WCCOAui1:[dyn_string 1 items
WCCOAui1: 1: «Test»
WCCOAui1:][«Test»]
WCCOAui1:[dyn_string 1 items
WCCOAui1: 1: «regexSplit»
WCCOAui1:][«regexSplit»]
WCCOAui1:[dyn_string 1 items
WCCOAui1: 1: «Function»
WCCOAui1:][«Function»]
Второй пример отделяет слова, которые были разделены через \, от строки (текста) “Sybcom Company\twww.sybcom.at\tRussia” и выводит их:
WCCOAui1: 1: [dyn_string 4 items
WCCOAui1: 1: «Sybcom Company www.sybcom.at Russia»
WCCOAui1: 2: «Sybcom Company»
WCCOAui1: 3: «www.sybcom.at»
WCCOAui1: 4: «Russia»
main(mapping event) { dyn_string result; int i = 0; string s; while( i >= 0 ) { i = regexpSplit("[a-z|A-Z]+", ""This?is6a55Test:=regexSplit###Function"", result, makeMapping("startPosition", i + strlen(s))); s = dynlen(result) > 0 ? result[1] : ""; DebugN(result, s); delay(0, 100); } dyn_string result; DebugN(regexpSplit("^([^\t]+)\t([^\t]+)\t([^\t]+)$", "Sybcom Company\twww.sybcom.at\tRussia", result)); DebugN(result); }
Назначение
Регулярные выражения
Смотри также