© SibTone Group 2007-2020
Мы используем стабильные решения
для безотказной работы систем,
каждый день, круглый год

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

 

Использование

regex value expression results*
regex значение выражение результат

Результат (results) является необязательным параметром, без него будет по-умолчанию выводиться истина или ложь.

regex 61555555555|^61([0-9]{9})$

На выходе получим значение истина ( true ).

Если вы в консоли fs_cli запустите следующее выражение:

regex 61555555555|^61([0-9]{9})$|0%1

то получите: 0555555555.

Параметры

value = строка для обработки регуляркой
expression = само регулярное выражение
results = строка с результатом обработки ( необязательна, без нее выдаст true или false )

К тому же, вы не можете использовать $0 $1 $2 $3 как обычно, ибо эти переменные уже используются в плане набора - "condition" expression.
Поэтому используйте встроенные переменные формата: %0 %1 %2 %3 .

Пример

regex +73832097777|^(+?[7-8])383([0-9]{7})$|8383%2

или

regex 73832097777|^(+?[7-8])383([0-9]{7})$|8383%2

или

regex 83832097777|^(+?[7-8])383([0-9]{7})$|8383%2

В итоге выдаст: 83832097777

Поместим regex в диалплан:

<action application="set" 
data="myvalue=${regex(${caller_id_number}|^(+?[7-8])383([0-9]{7})$|8383%2)}"/>

Приложения и инструменты диалплана FreeSWITCH