Changes between Version 1 and Version 2 of Mc04regexp


Ignore:
Timestamp:
Nov 6, 2018, 3:54:56 PM (5 years ago)
Author:
san
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Mc04regexp

    v1 v2  
     1[[wiki:WikiStart|Вики MC04]]
     2== Регулярные выражения ==
    13В плате VE-01 в качестве шаблонов  на совпадение с которыми проверяются телефонные номера применяются perl-совместимые регулярные выражения ([https://www.pcre.org/ PCRE]).
    24Регулярные выражения (англ. regular expressions)  - это широко используемый способ описания шаблонов для поиска текста и проверки соответствия текста шаблону. Регулярные выражения - формальный язык поиска и осуществления манипуляций с подстроками в тексте, основанный на использовании метасимволов. Для поиска используется строка-образец (шаблон), состоящая из символов и метасимволов и задающая правило поиска.
    35
    46В настройках платы VE-01 регулярные выражения применяются в следующих настройках:
    5 - [sip_ua:wiki:EndpointParameters#%D0%A0%D0%B0%D0%B7%D0%BD%D1%8B%D0%B5%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B Настройка "Рег. выражение номера"] окончаний FxS, 1ИНД, АДАСЭ, R2. Номер, набираемый абонентом соответствующего окончание проверяется на совпадение с регулярным выражением указанным в настройке. При совпадении  с регулярным выражением немедленно отправляется вызов в IP-сеть без ожидания таймаута набора.
    6 - [sip_ua:wiki:EndpointParameters#%D0%A0%D0%B0%D0%B7%D0%BD%D1%8B%D0%B5%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B Настройка "Рег. выражение вызова"]. При обслуживаниии вызова, после проверки совпадений вызываемого номера с номерами канальных окончаний, если совпадений обнаружено не было, выполняется второй проход, на котором к номеру(username) вызываемого абонента применяется регулярное выражение вызова (параметр “Рег. выражение вызова” в конфигурации канальных окончаний). Вызов будет передан для обслуживания первому незанятому канальному окончанию, у которого задано регулярное выражение вызова, под которое подпадает вызываемый номер.
    7 - [sip_ua:wiki:FunctionsSipRouting Функция "Маршрутизация SIP"] Каждый маршрут состоит из двух основных частей - регулярного выражения, на совпадение с которым проверяется цель (target) запроса SIP, и строки, которой заменяется цель в случае совпадения.
     7- [sip_ua:wiki:EndpointParameters#%D0%A0%D0%B0%D0%B7%D0%BD%D1%8B%D0%B5%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B Настройка "Рег. выражение вызова"]. Настройка коммутации вызовов в данное окончание. При обслуживаниии вызова, после проверки совпадений вызываемого номера с номерами канальных окончаний, если совпадений обнаружено не было, выполняется второй проход, на котором к номеру(username) вызываемого абонента применяется регулярное выражение. Вызов будет передан для обслуживания первому незанятому канальному окончанию, у которого задано регулярное выражение вызова, под которое подпадает вызываемый номер.
     8- [sip_ua:wiki:EndpointParameters#%D0%A0%D0%B0%D0%B7%D0%BD%D1%8B%D0%B5%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B Настройка "Рег. выражение набора/номера"] -  окончаний FxS, 1ИНД, АДАСЭ, R2. Настройка "быстрого набора" номеров без ожидания таймаута. Номер, набираемый абонентом соответствующего окончания проверяется на совпадение с регулярным выражением указанным в настройке. При совпадении  с регулярным выражением немедленно отправляется вызов в IP-сеть без ожидания таймаута набора.
     9- [sip_ua:wiki:FunctionsSipRouting Функция "Маршрутизация SIP"] Перенаправление вызовов. Каждый маршрут состоит из двух основных частей - регулярного выражения, на совпадение с которым проверяется цель (target) запроса SIP, и строки, которой заменяется цель в случае совпадения.
    810
    911Примеры регулярных выражений:
    10 {{{.}}}
    11 {{{^2\d{6}}}} номера длиной 7 цифр и начинающиеся с цифры 2
     12- `.` - любой 1 символ (при задании такого выражения в качестве "Рег. выражение вызова", окончание будет принимать любые вызовы);
     13- `.{4}` - 4 любых символа, например `123#`;
     14- `^5` - номер начинается с пятёрки;
     15- `^537` - номер начинается с 537;
     16- `^537$` - только номер 537;
     17- `^2\d{6}$` - номер длиной 7 цифр и начинается с цифры 2, например `2123456`;
     18- `^2\d{6}` - номер длиной не менее 7 цифр и начинается с цифры 2, например `2123456#789`;
     19- `^[2,3,5]\d{2}` - номер начинается с одной из цифр 2, 3 или 5, затем две любые цифры, например `374`;
     20- `^[^6,8]` - номер начинается с любой цифры кроме 6 или 8;
     21- `^8(?!10)\d{10}$` - междугородние номера длиной 11 цифр, начинающиеся с 8, исключая международные, начинающиеся с 810;
     22- `^+?7\d{10}` - в начале номера необязательный символ `+`, затем цифра 7, затем 10 любых цифр `+73422241205` или `73422241205`;
     23- `(^7\d{4})|(^6\d{2})` - 5 цифр начинающиеся с 7 или 3 цифры начинающиеся с 6, например `71234`, `612`;
    1224
    13 Познакомиться подробней с синтаксисом регулярных выражений можно по следующим ссылкам:
    1425
    15 http://www.shtogrin.com/library/web/pcre/doc/pcre/
     26Познакомиться подробней с регулярными выражениями можно по следующим ссылкам:
     27- Описание синтаксиса на русском: http://www.shtogrin.com/library/web/pcre/doc/pcre/
     28- Шпаргалка на русском: https://www.exlab.net/tools/sheets/regexp.html
     29- Онлайн калькулятор, где можно проверить свои рег. выражения:  https://regex101.com/
     30- Полезный сайт на английском http://www.rexegg.com/
     31[[BR]][[BR]][[wiki:WikiStart|Вики MC04]]