REGEXP

Материал из BiTel WiKi

(Различия между версиями)
Перейти к: навигация, поиск
(Содержимое страницы заменено на «Статья переехала: http://wiki.bitel.ru/index.php/REGEXP»)
 
Строка 1: Строка 1:
-
Статья переехала: http://wiki.bitel.ru/index.php/REGEXP
+
Язык регулярных выражений (REGEXP) позволяет гибко описывать маски строк.
 +
 
 +
В биллинге для указания всех шаблонов используется REGEXP с PERL образным стилем . Описание его формата можно почитать здесь: [http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html]. В пределах система язык используется минимально, необходимо владеть понятиями группа и перечень.
 +
 
 +
Например:
 +
<pre>
 +
(342) - это символы 342 следующие один за другим.
 +
3\d2 - это 3 затем любая цифра и 2.
 +
((342)|(559)) - последовательность симоволов 342 либо 559
 +
44[2-8] - строки 442, 443, 444, 445, 446, 447, 448
 +
</pre>
 +
 
 +
Дополнительно в шаблонах могут быть использованы спецсимволы: ^ - начало строки и $ - конец строки, \d - любая цифра, \w - любой символ латинского алфавита, цифра или знак подчеркивания.
 +
 
 +
Если шаблоны используются в узлах Часть префикса, система сама будет подставлять ^ в начало каждого шаблона при тарификации. Рассмотрим несколько примеров, какие шаблоны могут быть созданы в этом узле тарифного дерева.
 +
 
 +
Префиксы Магнитогорска (735192, 735193, 735194) будут преобразованы к следующему виду:
 +
<pre>
 +
73519[234]
 +
</pre>
 +
После любого символа или перечня символов могут быть установлено количество повторений.
 +
<pre>
 +
7347\d{3} - префикс 7347 и после него любые 3 цифры.
 +
</pre>
 +
Еще несколько примеров шаблонов с оригиналами:
 +
 
 +
Префиксы:
 +
<pre>735130,735131,735132,735134,735135,735138,735139,735144,735145,735148,735149,735150,735151,735152,735153,735160,735166,735168</pre>
 +
 
 +
Шаблон:
 +
<pre>7351((3[0-589])|(4[4589])|(5[0-3])|(6[068]))</pre>
 +
 
 +
Префиксы:
 +
<pre>735111,735133,735136,735137,735140,735141,735142,735143,735146,735147,735154,735155,735156,735157,735158,735159,735161,735163,735164,735165,735167,735169,735191</pre>
 +
 
 +
Шаблон:
 +
<pre>7351((11)|(3[367])|(4[0-367])|(5[4-9])|(6[1-579])|(91))</pre>
 +
 
 +
Префиксы:
 +
<pre>1(32-63)</pre>
 +
 
 +
Шаблон:
 +
<pre>1((3[2-9])|(4[0-9])|(5[0-9])|(6[0-3]))</pre>
 +
 
 +
 
 +
'''Ссылки:'''
 +
* http://phpclub.ru/detail/article/regexp_1
 +
* http://www.opennet.ru/docs/RUS/perlre_man/

Текущая версия на 08:16, 28 июня 2013

Язык регулярных выражений (REGEXP) позволяет гибко описывать маски строк.

В биллинге для указания всех шаблонов используется REGEXP с PERL образным стилем . Описание его формата можно почитать здесь: [1]. В пределах система язык используется минимально, необходимо владеть понятиями группа и перечень.

Например:

(342) - это символы 342 следующие один за другим.
3\d2 - это 3 затем любая цифра и 2.
((342)|(559)) - последовательность симоволов 342 либо 559
44[2-8] - строки 442, 443, 444, 445, 446, 447, 448

Дополнительно в шаблонах могут быть использованы спецсимволы: ^ - начало строки и $ - конец строки, \d - любая цифра, \w - любой символ латинского алфавита, цифра или знак подчеркивания.

Если шаблоны используются в узлах Часть префикса, система сама будет подставлять ^ в начало каждого шаблона при тарификации. Рассмотрим несколько примеров, какие шаблоны могут быть созданы в этом узле тарифного дерева.

Префиксы Магнитогорска (735192, 735193, 735194) будут преобразованы к следующему виду:

73519[234]

После любого символа или перечня символов могут быть установлено количество повторений.

7347\d{3} - префикс 7347 и после него любые 3 цифры.

Еще несколько примеров шаблонов с оригиналами:

Префиксы:

735130,735131,735132,735134,735135,735138,735139,735144,735145,735148,735149,735150,735151,735152,735153,735160,735166,735168

Шаблон:

7351((3[0-589])|(4[4589])|(5[0-3])|(6[068]))

Префиксы:

735111,735133,735136,735137,735140,735141,735142,735143,735146,735147,735154,735155,735156,735157,735158,735159,735161,735163,735164,735165,735167,735169,735191

Шаблон:

7351((11)|(3[367])|(4[0-367])|(5[4-9])|(6[1-579])|(91))

Префиксы:

1(32-63)

Шаблон:

1((3[2-9])|(4[0-9])|(5[0-9])|(6[0-3]))


Ссылки:

Источник — «http://wiki.bitel.ru/index.php/REGEXP»
Личные инструменты