Страница 1 из 2

Регулярные выражения для автомат. сопоставления товаров

Добавлено: 21 июл 2009 09:15
TechAdmin
Это нововведение появилось в версии E-Trade PriceList Importer 1.9.0.

В программе E-Trade PriceList Importer появилась возможность создавать правила на основании регулярных выражений для выбранных категорий, для последующего автоматического сопоставления товаров между списками СТУС и СТИПП. Так же имеется возможность использовать настроенные регулярные выражения для формирования (заполнения): Артикула и Модели.

Справочный материал:
Регуля́рные выраже́ния (англ. 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 для тестирования регулярных выражений(англ.)
Сборник регулярных выражений в разных форматах(англ.)


Работа с регулярными выражениями в программе E-Trade PriceList Importer.

Регулярные выражения настраиваются в справочнике категорий товаров для каждой категории в отдельности.
setup_reg_exp_for_category.png
setup_reg_exp_for_category.png (64.14 КБ) 13726 просмотров


Вид окна настройки рег. выражений:
mgJQ7TfgskKj7w319Zg.jpg
Вид окна настройки регулярных выражений
mgJQ7TfgskKj7w319Zg.jpg (137 КБ) 14131 просмотр


Описание колонок:
"А" - запись активна и участвует в обработке данных.
"З" - замена результатом данного выражения поля "Назначение" в импортируемом товаре.
"Назначение" - применение строки с выражениями для выбранного назначения, возможные значения: Артикул, Модель, Наименование.
"У" - условие между выражениями в строке, возможные значения: "И" и "ИЛИ".
"Регулярное выражение №1-5" - регулярные выражения для идентификации строки с товаром, возможно задавать до 5 различных выражений и объединять их условиями "И" и "ИЛИ".
"МДР" - минимальная длина результата выполнения регулярного выражения, количество символов в итоговом результате. Если результат выполнения регулярного выражения меньше заданного в этой ячейке, тогда эта строка не участвует в сопоставлении товаров.
"Примечание" - комментарий к строке с регулярными выражениями.

Тестирование регулярных выражений:
5GEijKCTH0OJ0v4ojmEuww.jpg
Тестирование регулярных выражений
5GEijKCTH0OJ0v4ojmEuww.jpg (145.4 КБ) 14130 просмотров


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

LOnFGhIVGEKdsIkhwB1syA.jpg
LOnFGhIVGEKdsIkhwB1syA.jpg (58.42 КБ) 14130 просмотров

CDtd8Wnky0SvLIK7VWCOUA.jpg
CDtd8Wnky0SvLIK7VWCOUA.jpg (120.16 КБ) 14130 просмотров


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

Re: Регулярные выражения для автомат. сопоставления товаров

Добавлено: 21 июл 2009 14:23
Aleksey
А расширение назначений планируется? Было бы не плохо заполнять такими регулярками SEO поля.

Re: Регулярные выражения для автомат. сопоставления товаров

Добавлено: 21 июл 2009 19:42
TechAdmin
Aleksey писал(а):А расширение назначений планируется? Было бы не плохо заполнять такими регулярками SEO поля.

Приведите пожалуйста пример использования рег. выражений для SEO полей.

Re: Регулярные выражения для автомат. сопоставления товаров

Добавлено: 22 июл 2009 14:58
Aleksey
Назначение: Ключевые слова
Регулярное выражение: ([Монитор])
Регулярное выражение: ([Samsung])

И т. п., выдирать нужные слова из имени, потом разом их экспортировать из программы.

Сейчас, насколько я помню нету такого поля, но мне бы ещё пригодилось бы поля что бы задавать ссылку на продукт. Выдирать регуляркой производителя, модель, цвет (например) и склеивать их в итоговое выражение, разделенное дефисами и в нижнем регистре.
Было: 19" TV Samsung LE19A656A1D (LCD, ....)
Стало: samsung-le19a656a1d

Это относительно того что хотелось бы видеть, т. е. что бы получаемые регулярным выражением значения можно потом было как-то ещё использовать (комбинации из них делать какие-то).

Re: Регулярные выражения для автомат. сопоставления товаров

Добавлено: 22 июл 2009 17:00
TechAdmin
Экспорт SEO полей при экспорте в CSV файл:
http://forum.elbuz.com/viewtopic.php?f=16&t=60

Re: Регулярные выражения для автомат. сопоставления товаров

Добавлено: 20 авг 2009 20:32
Flagman
Так как же выдернуть выражениями из наименования модель товара и записать её в поле МОДЕЛЬ?

Re: Регулярные выражения для автомат. сопоставления товаров

Добавлено: 20 авг 2009 23:11
TechAdmin
Создайте новую запись в регулярных выражениях, Назначение=Модель, введите рег. выражение №1, установите флажок "З" (замена), протестируйте выражение, проимпортируйте прайс-лист.

Re: Регулярные выражения для автомат. сопоставления товаров

Добавлено: 21 авг 2009 13:09
Flagman
если выбрать назначение = модель, то выражение будет применяться против поля модель, которое пустое. т.е. менять будет нечем. или при галочке замены выражение всегда применяется против наименования?

Re: Регулярные выражения для автомат. сопоставления товаров

Добавлено: 21 авг 2009 13:38
TechAdmin
Основным объектом для получения различных результатов работы регулярных выражений является поле "Наименование". Если в ваших настройках назначение будет "Модель", тогда на основании поля "Наименование" будет рассчитано регулярное выражение, которое вы задали и результат его работы будет записан в поле "Модель". Точно так же и для назначения "Артикул", на основании поля "Наименование" будет рассчитано регулярное выражение и результат его работы будет записан в поле "Артикул".

Re: Регулярные выражения для автомат. сопоставления товаров

Добавлено: 21 авг 2009 14:37
Flagman
ах вот в чем дело.. ) ясно. спасибо что разъяснили
только не выходит почему то.. может потому, что в списке выражений оно не единственное, и более того - последнее..