h1. Regex шаблоны {{>toc}} В разничных модулях системы поддерживается *замену значений по шаблонам*. Примерами таких модулей является: * [[Замена номеров]] Этот функционал используется для подмены исходной строки по определенному правилу. Наиболее часто это используется для манипуляции с входящими или исходящими номерами, например: * обрезание технического префикса * добавление технического префикса h2. Форматы правил. Правила замены могут описываться с использованием различных синтаксисов: * [[Синтаксис sed|sed]] * [[Синтаксис perl|perl]] * [[Синтаксис литерал|литерал]] h2. Принципы замены для набора шаблонов замены. Система берет исходную строку и начинает перебор сконфигурированных правил в соответствии в приоритетами правил. Правила с меньшим значением приоритета обрабатываются первыми. В веб-интерфейсе правила по умолчанию отсортированы по приоритету. Таким образом, выполнение замен будет происходить сверху-вниз. Для каждого правила система пробует найти соотвествие исходной строки *шаблону*, сконфигуриованному в правиле. Для нахождения соотвествия используется сконфигурированный *формат* и значение *шаблона*. При нахождении соответствия, выполняется замена в соотвествии с сконфигурированными *опциями применения правил* и значением *заменить*. После выполнения замены, исходная строка заменяется новым значением. В случае если опция *продожить* не установлена - поиск и замена прекращается. Если установлена - выполняется переход к следующему правилу по списку в соотвествии с приоритетами. Если соотвествие по *шаблону* на было найдено для текущего правила - выполняется переход к следующему правилу по списку в соотвествии с приоритетами. h2. Опции применения правил для шаблонов замены. * *только первый*. Эта опция определяет, будет ли выполняться подмена только первого совпадения в строке поиска. Например, правило вида _777 -> 888_, оригинальный номер _17772777_. При данной опции выключенной, номер заменится на _18882888_. При данной опции включенной, номер заменится на _18882777_. * *не копировать*. Эта опция определяет, будут ли присутствовать части исходного номера которые не совпали по шаблону. Например, правило вида _777 -> 888_, оригинальный номер _17772434_. При данной опции выключенной, номер заменится на _18882434_. При данной опции включенной, номер заменится на _888_. * *продолжить*. Эта опция определяет, будет ли происходить переход на следующее по списку правило после применения данного правила. Например, правило вида _777 -> 888_, оригинальный номер _17772434_. При данной опции выключенной, номер заменится на _18882434_ и замена прекратится. При данной опции включенной, номер заменится на _18882434_ и продолжится замена в соответствии с последущими сконфигурированными правилами. [[Regex patterns|English translation]]