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

Navigation:  Справочники > Категории товаров >

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

Previous pageReturn to chapter overviewNext page

Регулярные выражения - система синтаксического разбора текстовых фрагментов по формализованному шаблону, основанная на системе записи образцов для поиска. Данная подсистема может из наименования товара "выдернуть" модель товара или артикул. Так же может быть использована для автоматического сопоставления товаров между списками СТУС и СТИПП.

 

vhod_v_spr_kategorii

 

vhod_v_reg_exp

 

Справочный материал:

Регуля́рные выраже́ния (англ. regular expressions, сокр. RegExp, RegEx, жарг. регэ́кспы или ре́гексы) — система синтаксического разбора текстовых фрагментов по формализованному шаблону, основанная на системе записи образцов для поиска. Образец (англ. pattern), задающий правило поиска, по-русски также иногда называют «шаблоном», «маской». Регулярные выражения произвели прорыв в электронной обработке текста в конце XX века. Они являются развитием символов-джокеров (англ. wildcard characters).

 

Истоки регулярных выражений лежат в теории автоматов и теории формальных языков. Эти области изучают вычислительные модели (автоматы) и способы описания и классификации формальных языков. В 1940-х гг. Уоррен Маккалок и Уолтер Питтс описали нервную систему, используя простой автомат в качестве модели нейрона. Математик Стивен Клини позже описал эти модели, используя свою систему математических обозначений, названную «регулярные множества». Кен Томпсон встроил их в редактор QED, а затем в редактор ed под UNIX. С этого времени регулярные выражения стали широко использоваться в UNIX и UNIX-подобных утилитах, например: expr, awk, Emacs, vi, lex и Perl. Регулярные выражения в Perl и Tcl происходят от реализации, написанной Генри Спенсером. Филип Хейзел разработал библиотеку PCRE (англ. Perl-compatible regular expressions — Perl-совместимые регулярные выражения), которая используется во многих современных инструментах, таких как PHP и Apache.

 

Ссылки на другие справочные материалы:

MSDN - Знакомство с регулярными выражениями(рус.)

Онлайн-редактор регулярных выражений (PCRE) с полной подсветкой синтаксиса (java-applet)(англ.)

Программа на JavaScript для тестирования регулярных выражений(англ.)

Сборник регулярных выражений в разных форматах(англ.)

 

Синтаксис регулярного выражения (метасимволы):

https://msdn.microsoft.com/ru-ru/library/ae5bf541.aspx

 

Вид окна настройки регулярных выражений.

spr_cats_regexp1

Описание колонок сетки:

"А" - запись активна и участвует в обработке данных.

"З" - замена результатом данного выражения поля "Назначение" в импортируемом товаре. Т.е. если необходимо чтоб из наименования товара "выдёргивался" артикул товара, то необходимо активировать данный флажок для назначения "Артикул". Замену наименования товара результатом рег. выражения можно активировать только в настройках прайс-листа в подсистеме формирования составных значений.

"ЗЕП" - настройка алгоритма замены значения, в поле назначения, при применении регулярных выражений. "ЗЕП" (заменять если пусто), при активации флажка в этом поле, значение будет заменяться только, если поле пустое и не хранит значений.

"Назначение" - применение строки с выражениями для выбранного назначения, возможные значения: Артикул, Модель, Наименование.

"У" - условие между выражениями в строке, возможные значения: "И" и "ИЛИ".

"Регулярное выражение №1-5" - регулярные выражения для идентификации строки с товаром, возможно задавать до 5 различных выражений и объединять их условиями "И" и "ИЛИ".

"МДР" - минимальная длина результата выполнения регулярного выражения, количество символов в итоговом результате. Если результат выполнения регулярного выражения меньше заданного в этой ячейке, тогда эта строка не участвует в сопоставлении товаров.

"Примечание" - комментарий к строке с регулярными выражениями.
"Производитель" - настройка регулярных выражений для применения регулярного выражения только для указанного производителя. Т.е. если например указать в этой котонке название производителя "SONY", тогда регулярное выражение будет выполняться только для товаров от производителя "SONY" и только в выбранной категории.

 

Панель управления:

spr_cats_regexp2

Добавить - добавление нового регулярного выражения для выбранной категории.

Удалить - удаление регулярного выражения.

Тест на основании СТИПП - тестирование регулярных выражений на основании списка товаров из прайс-листов поставщиков.

Дополнительно - позволяет управлять регулярными выражениями для других категорий.

spr_cats_regexp5

 

 

 

Тестирование регулярного выражения на основании введенного текста, обычно тестируется на основании наименования товара, при этом сразу виден результат работы:

spr_cats_regexp3

 

Так же можно тестировать на основании списка товаров из прайс-листов поставщиков (СТИПП), тестируются только не найденные товары (без флажка "Н"), результат тестирования экспортируется в файл MS Excel:

spr_cats_regexp4

В этом отчёте видно что на основании наименования товара, например "Рюкзак для NB Targus TSB12001EU" удалось получить модель товара "TSB12001EU", которое можно использовать при автоматическом сопоставлении товаров между товарами учётной системы и товарами из прайс-листов поставщиков.

 

Активация замены наименования товара результатом рег. выражения

По умолчанию для поля "Наименование" отключён режим замены наименования на основании результата регулярного выражения, составленного для категории товара. Для его активации необходимо в настройках прайс-листа, в подсистеме формировании составных значений добавить макроподстановку {REG_EXP}.

activate_regexp_for_replace_product_name

 

 

Применять регулярные выражения можно в пределах выбранного поставщика и его прайс-листа

setup_regexp_new2

 

setup_regexp_new3