> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.pricer24.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Алгоритм "Masks"

Для сопоставления товаров контрагентов с товарами из ваших каталогов в Pricer24 есть алгоритм сопоставления по "маскам". 

# Как работает алгоритм?

* Каждому товару вы задаете один или несколько шаблонов (масок) и их надежность;
* Задаете правила для каких категорий, брендов и контрагентов будет работать алгоритм;
* Если товар контрагента совпадает с **любым** шаблоном товара - система будет предлагать этот товар для сопоставления с надежностью, которая была задана шаблону;
* Сравнение происходит без учета регистра;
* Если подойдет несколько шаблонов, будет использован шаблон с большей надежностью;

||| По-умолчанию матчинг по маскам отключен. Для включения необходимо обратиться в тех. поддержку.

# Написание масок

* Маска может состоять из нескольких сегментов разделенных `;` 
* Каждый из сегментов декларирует содержит ли исходная строка данный сегмент или же наоборот не содержит (в этом случае сегмент начинается с символа `!`)
* Исходная строка удовлетворяет маске если в ней есть все сегменты без символа `!` и нет всех сегментов начинающихся с `!`

|| Под исходной строкой подразумевается название товара контрагента

# Синтаксис сегмента маски

Сегмент состоит из букв, цифр, символов ``, `/`, `+`, `-`, а также специальных символов:
* `_` - начало или конец слова, это может быть `пробел` или один из символов `(`, `)`, `[`, `]`, `|`, `"`, `'`, `,`, `;`
* `*` - любая подстрока
* `?` - один из символов `-`, `.`, `пробел` или ничего

# Примеры

##### Пример #1
Маска `s21`, товар `Samsung Galaxy S21+ Black`.
Товар **совпадает** с маской, т.к. содержит подстроку `s21`.

##### Пример #2
Маска `_s21_`, товар `Samsung Galaxy S21+ Black`.
Товар **не совпадает** с маской, т.к. `s21` должно быть целым словом, а в названии товара после `s21` идет `+`

##### Пример #3
Маска `_s21_`, товар `Samsung Galaxy S21 Plus Black`.
Товар **совпадает** с маской, т.к. `s21` - отдельно-стоящее слово.

##### Пример #4
Маска `_s21_;!plus`, товар `Samsung Galaxy S21 Plus Black`.
Товар **не совпадает** с маской, т.к. содержит слово `plus`, а второй сегмент начинается с `!` что означает, что сегмента не должно быть в названии товара.

##### Пример #5
Маска `_gala*s21_`, товар `Samsung Galaxy S21 Plus Black`.
Товар **совпадает** с маской, т.к. `gala` - начало слова, дальше могут идти любые символы и `s21` конец слова

##### Пример #6
Маска `_KX?7655_`, товары `Sony SmartTV KX7655`, `Sony SmartTV 76" KX-7655` и `Sony SmartTV 76" (KX-7655)`.
Все товары **совпадают** с маской, т.к. `?` допускает как отсутствие символов так и `-`, а `_` разрешает как `(` так и `)`.

##### Пример #7
Маска `_KX?7655_`, товар `Sony SmartTV KX76555`.
Товар **не совпадает** с маской, т.к. символы `_`  обозначают, что слово должно целиком совпадать.

##### Пример #8
Маска `_KX?7655`, товары `Sony SmartTV KX76555`.
А вот в этом случае, товар **совпадает** с маской.