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

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

Функции

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 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

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

Last updated