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

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

Функции

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

Функция FindRegExp находит все вхождения регулярного выражения re в указанной строке src. Функция возвращает массив массивов. Первый элемент в каждом из массивов содержит подстроку совпадающую с регулярным выражением.

arr.arr.str a &= FindRegExp(`My email is xyz@example.com`, `(\w+)@(\w+)\.(\w+)`)
// a = { { `xyz@example.com`, `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

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 xyz@example.com", `(\w+)@(\w+)\.(\w+)`, "${3}.${2}@zzz")
// email is com.example@zzz