Links

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

Здесь описаны функции для работы с регулярными выражениями.

Функции

FindFirstRegExp(str src, str re) arr.str

Функция FindFirstRegExp находит первое вхождение регулярного выражения re в указанной строке src. Функция возвращает массив строк. Первый элемент содержит подстроку совпадающую с регулярным выражением, остальные элементы содержат значения групп (...), если они определены в регулярном выражении.
arr.str a &= FindFirstRegExp(`This45i33s a isi777s inis1i2sg`, `is(\d*)i(\d+)s`)
// a = {`is45i33s`, `45`, `33`}

FindRegExp(str src, str re) arr.arr.str

Функция FindRegExp находит все вхождения регулярного выражения re в указанной строке src. Функция возвращает массив массивов. Первый элемент в каждом из массивов содержит подстроку совпадающую с регулярным выражением.
arr.arr.str a &= FindRegExp(`My email is [email protected]`, `(\w+)@(\w+)\.(\w+)`)
// a = { { `[email protected]`, `xyz`, `example`, `com`} }
a &= FindRegExp(`This is a test string`, `i.`)
// a = { { `is` }, {`is`}, {`in`} }

Match(str s, str re) bool

Функция Match определяет содержит ли данная строка вхождение указанного регулярного выражения.
bool a = Match(`somethiabng striabnbg`, `a.b`) // false
a = Match(`somethianbg string`, `a.b`) // true

RegExp(str src, str re) str

Функция RegExp возвращает первое вхождение регулярного выражения re в указанной строке src. Если соответствия не найдено, то возвращается пустая строка.
str input = "This is a string тестовое значение"
ret = RegExp(input, `is (.{2})`) + RegExp(input, `е(.+?)е`)
// isстово

ReplaceRegExp(str src, str re, str repl) str

Функция ReplaceRegExp находит все вхождения регулярного выражения re в указанной строке src и заменяет их на строку repl. В параметре repl можно указывать $i или ${i} для i-го подсовпадения.
str s = ReplaceRegExp("This is a string", `i(.{2})`, "xyz")
// Thxyzxyza strxyz
s = ReplaceRegExp(" email is [email protected]", `(\w+)@(\w+)\.(\w+)`, "${3}.${2}@zzz")
// email is [email protected]