Регулярные выражения - система синтаксического разбора текстовых фрагментов по формализованному шаблону, основанная на системе записи образцов для поиска. Данная подсистема может из наименования товара "выдернуть" модель товара или артикул. Так же может быть использована для автоматического сопоставления товаров между списками СТУС и СТИПП.
Справочный материал:
Регуля́рные выраже́ния (англ. 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
Вид окна настройки регулярных выражений.
Описание колонок сетки:
"А" - запись активна и участвует в обработке данных.
"З" - замена результатом данного выражения поля "Назначение" в импортируемом товаре. Т.е. если необходимо чтоб из наименования товара "выдёргивался" артикул товара, то необходимо активировать данный флажок для назначения "Артикул". Замену наименования товара результатом рег. выражения можно активировать только в настройках прайс-листа в подсистеме формирования составных значений.
"ЗЕП" - настройка алгоритма замены значения, в поле назначения, при применении регулярных выражений. "ЗЕП" (заменять если пусто), при активации флажка в этом поле, значение будет заменяться только, если поле пустое и не хранит значений.
"Назначение" - применение строки с выражениями для выбранного назначения, возможные значения: Артикул, Модель, Наименование.
"У" - условие между выражениями в строке, возможные значения: "И" и "ИЛИ".
"Регулярное выражение №1-5" - регулярные выражения для идентификации строки с товаром, возможно задавать до 5 различных выражений и объединять их условиями "И" и "ИЛИ".
"МДР" - минимальная длина результата выполнения регулярного выражения, количество символов в итоговом результате. Если результат выполнения регулярного выражения меньше заданного в этой ячейке, тогда эта строка не участвует в сопоставлении товаров.
"Примечание" - комментарий к строке с регулярными выражениями.
"Производитель" - настройка регулярных выражений для применения регулярного выражения только для указанного производителя. Т.е. если например указать в этой котонке название производителя "SONY", тогда регулярное выражение будет выполняться только для товаров от производителя "SONY" и только в выбранной категории.
Панель управления:
Добавить - добавление нового регулярного выражения для выбранной категории.
Удалить - удаление регулярного выражения.
Тест на основании СТИПП - тестирование регулярных выражений на основании списка товаров из прайс-листов поставщиков.
Дополнительно - позволяет управлять регулярными выражениями для других категорий.
Тестирование регулярного выражения на основании введенного текста, обычно тестируется на основании наименования товара, при этом сразу виден результат работы:
Так же можно тестировать на основании списка товаров из прайс-листов поставщиков (СТИПП), тестируются только не найденные товары (без флажка "Н"), результат тестирования экспортируется в файл MS Excel:
В этом отчёте видно что на основании наименования товара, например "Рюкзак для NB Targus TSB12001EU" удалось получить модель товара "TSB12001EU", которое можно использовать при автоматическом сопоставлении товаров между товарами учётной системы и товарами из прайс-листов поставщиков.
Активация замены наименования товара результатом рег. выражения
По умолчанию для поля "Наименование" отключён режим замены наименования на основании результата регулярного выражения, составленного для категории товара. Для его активации необходимо в настройках прайс-листа, в подсистеме формировании составных значений добавить макроподстановку {REG_EXP}.
Применять регулярные выражения можно в пределах выбранного поставщика и его прайс-листа