Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Использование регулярных выражений в запросах

Если в запросе нужно использовать модифицированное по определенным правилам значение, то используя специальный синтаксис, через регулярные выражения можно это сделать. Синтаксис должен удовлетворять правилам используемого модуля freemarker: https://freemarker.apache.org/docs/ref_builtins_string.html

Рассмотрим пример: в параметрах идентификации передаем номер телефона, но его формат нужно изменить для системы, которая вызывается. Т.е. телефон вида +78008880022 нужно передать в формате (800)888-00-22.

С помощью регулярного выражения можно на лету изменить формат номера:

  • в строке с самим запросом (поле Адрес запроса)

    <#assign res = userPhone?replace('\\D', '', 'r')?matches(r"(\d{1})(\d{3})(\d{3})(\d{2})(\d{2})")>http://host/(${res?groups[2]})${res?groups[3]}-${res?groups[4]}-${res?groups[5]}

  • в отдельных параметрах (блок Параметры запроса, в значении)

<#assign res = userPhone?replace('\\D', '', 'r')?matches(r"(\d{1})(\d{3})(\d{3})(\d{2})(\d{2})")>(${res?groups[2]})${res?groups[3]}-${res?groups[4]}-${res?groups[5]}

  • No labels