Перейти к содержанию

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

Roistat позволяет использовать регулярные выражения для настройки некоторых фильтров. Также можно использовать упрощенный синтаксис (см. примеры использования).

Символы и их значения

Ниже приведены символы и сочетания символов, которые пригодятся при составлении регулярных выражений в Roistat. В большинстве случаев вам будет достаточно упрощенного синтаксиса, однако для более сложных фильтров могут понадобиться полноценные регулярные выражения.

Упрощенный синтаксис

Если вы используете упрощенный синтаксис, в начале выражения не нужен символ ^.

Символ Описание
* Означает, что на его месте могут быть любые символы. Например, выражение site.ru/*/buy включает в себя site.ru/product/buy, site.ru/sale/buy и т.п.
! Используется перед фразой и означает отрицание. Например, !direct будет исключать значение direct.
$ Используется в конце фразы и означает, что после нее не может быть других символов. Например, site.ru$ означает, что не нужно учитывать значения site.ru/, site.ru/buy и т.п.
, Используется для разделения выражений. Например, site1.ru/*, !site2.ru/* означает, что нужно учитывать все страницы домена site1.ru и исключать все страницы домена site2.ru. Вместо запятой можно использовать перенос строки, если поле ввода позволяет добавить новую строку.
( | ) Используется для указания равнозначных вариантов внутри фразы. Например, выражение (Б|б)аннеры означает, что нужно учитывать значения баннеры и Баннеры.

Синтаксис для полноценных регулярных выражений

Если вы используете полноценное регулярное выражение, его нужно начинать с символа ^.

Символ Описание
^ Начало регулярного выражения. Например: ^.*site.ru/.*/show?id=(1|2)
Если ^ используется внутри [], это означает «любой, кроме». Например, [^0-9] означает «любой символ, кроме цифр в диапазоне от 0 до 9».
$ Конец регулярного выражения. Например, ^(?!.*((Б|б)аннеры)).*$
. Один любой символ. Например, .n означает an, on, in и т.п.
? Означает, что предшествующий символ используется 0 или 1 раз. Например, a?bc может означать abc или bc.
* Означает, что предшествующий символ используется 0 или более раз. Например, 01*23 может означать 023, 0123, 01123, 011123 и т.д. Сочетание .* означает любые символы до следующей части выражения. Например, ^.*/path означает, что перед /path могут находиться любые символы.
+ Означает, что предшествующий символ используется 1 или более раз. Например, 2+ может означать 2, 22, 222 и т.д.
[] На данном месте в строке может находиться один из перечисленных символов. Например, [абв] означает а, б или в. Можно указывать диапазоны цифр и букв: [А-Яа-я] или [0-9]. Символ ^ внутри [] означает «любой, кроме». Например, [^0-9] означает «любой символ, кроме цифр в диапазоне от 0 до 9».
\d Любой цифровой символ (эквивалент [0-9]). Например, project\d может означать project1, project2 и т.п.
\D Любой нецифровой символ (эквивалент [^0-9]). Например, project_\D может означать project_a, project_b и т.п.
\b Граница слова. Например, если указать campaign\b, не будут учитываться значения типа campaign1, campaign_new. Данное сочетание работает только для латиницы.
| Означает «или». Например, 12(3|4)56 может означать 12356 или 12456.
() Определяют область действия и приоритет операции. Например, gr(a|e)y означает gray или grey.
?! Исключают значения, указанные после себя. Например, ^(?!(Москва|Санкт-Петербург)) исключает значения Москва и Санкт-Петербург.

Обратите внимание:

Символы [ ] \ / ^ $ . | ? * + ( ) { } являются системными в регулярных выражениях. Если вы хотите использовать любой из них в качестве обычного текстового символа, экранируйте его обратной косой чертой \. Например, чтобы учитывать значения Сделки(Москва) и Сделки(Спб), используйте выражение (Сделки\(Москва\)|Сделки\(Спб\)).

Примеры использования

Ниже перечислены примеры настройки фильтров для разных инструментов с использованием упрощенного синтаксиса и полноценных регулярных выражений. Если в начале примера нет символа ^, это значит, что используется упрощенный синтаксис, и в подобных выражениях не нужно добавлять ^. Описаны не все варианты настройки – вы можете составлять собственные выражения, используя доступный синтаксис.

Настройка Событий – поле URL

Регулярные выражения можно использовать при настройке События с условием срабатывания Переход на страницу сайта. В поле URL с помощью регулярного выражения можно указать все страницы, на которых должно срабатывать событие.

1.png 

Задача Примеры выражений Тип синтаксиса Комментарий
Указать конкретную страницу site.ru/page или /page (второй вариант подходит, если вы используете один домен) Упрощенный Также будут учитываться переходы, если в URL указанной страницы используются атрибуты, например, site.ru/page?roistat_visit=123.
Указать все страницы домена site.ru/* или /* (второй вариант подходит, если вы используете один домен) Упрощенный Также будут учитываться переходы, если в URL страницы домена используются атрибуты: например, site.ru/page?roistat_visit=123
Указать конкретную страницу с определенными атрибутами site.ru/page/path?source=landing или /page/path?source=landing (второй вариант подходит, если вы используете один домен) Упрощенный Вместо path?source=landing можно указать любые атрибуты.
Указать все страницы с определенными атрибутами site.ru/*/path?source=landing или */path?source=landing (во втором примере будут учитываться и страницы других доменов, если вы работаете с несколькими доменами) Упрощенный Вместо path?source=landing можно указать любые атрибуты.
Указать все страницы с несколькими определенными атрибутами ^.*site.ru/.*/show?id=(1|2) или ^.*/show?id=(1|2) (во втором примере будут учитываться и страницы других доменов, если вы работаете с несколькими доменами) Полноценный Вместо show?id= можно указать любые атрибуты.
Указать однотипные страницы с отличиями в пути site.ru/*/price или /*/price (второй вариант подходит, если вы используете один домен) Упрощенный Например, если у вас есть отдельные страницы с ценами для разных товаров – site.ru/clothes/price и site.ru/shoes/men/price, будут учитываться переходы на обе страницы (в том числе, если в ссылке есть атрибуты).
Указать конкретную страницу без атрибутов site.ru/page$ или /page$ (второй вариант подходит, если вы используете один домен) Упрощенный Не будут учитываться переходы, если к URL добавляются атрибуты.

Загрузка заявок из CRM: фильтрация сделок

В настройках интеграции с CRM можно указать поле, по которому будут фильтроваться сделки, и значение поля, которое можно указать с помощью регулярного выражения.

2.png 

Задача Примеры выражений Тип синтаксиса Комментарий
Загружать сделки из нескольких регионов (Москва|Санкт-Петербург|Казань) Упрощенный Будут загружаться только сделки из Москвы, Санкт-Петербурга и Казани.
Исключить сделки из определенных регионов ^(?!.*(Москва|Санкт-Петербург)).*$ Полноценный Не будут загружаться сделки из Москвы и Санкт-Петербурга.
Не загружать определенный тип лидов ^(?!.*(Нецелевой)).*$ Полноценный Не будут загружаться лиды с типом Нецелевой.
Загружать сделки только определенных менеджеров (11|12|15|17) Упрощенный Необходимо указать ID каждого менеджера. ID можно найти в CRM.

Настройка рекламных каналов – загрузка кампаний

В настройках интеграции с рекламным каналом можно указать, какие кампании нужно подключать к Roistat. В поле Добавлять только кампании, название которых содержит можно задать условия с помощью регулярного выражения (при этом должна быть включена опция Добавлять новые кампании автоматически).

3.png 

Задача Примеры выражений Тип синтаксиса Комментарий
Добавлять только кампании, в названиях которых есть определенное слово баннеры или (Б|б)аннеры (чтобы учитывать любой регистр первой буквы) Упрощенный Будут добавляться кампании, в названиях которых есть слово баннеры, в том числе, если оно является частью другого слова (например, баннеры1, смарт-баннеры).
Добавлять только кампании, названия которых содержат хотя бы одно из перечисленных слов ^((Б|б)аннеры|(П|п)одарки|(А|а)кция)
Если нужно указать части слов: ^((.*(Б|б)аннер.*)|(.*(П|п)одар.*|.*(А|а)кци.*))
Полноценный В первом случае учитываются кампании с точными соответствиями в названии, например: Баннеры поиск, Подарки 1, Акция распродажа. Также добавлен учет регистра первой буквы. Во втором случае указаны фрагменты слов, чтобы учитывались кампании, в которых слова склоняются и являются частями других слов. Например, будут учитываться кампании с названиями Смарт-баннеры, Баннер1, Подарки, Подарок1, Акция, Акции.
Не добавлять кампании, в названиях которых есть определенное слово ^(?!.*((Б|б)аннеры)).*$ Полноценный Не будут добавляться кампании, в названиях которых есть слово баннеры или Баннеры, в том числе, если до или после этих слов есть другие символы.
Не добавлять кампании, в названиях которых есть хотя бы одно из перечисленных слов ^(?!.*(.*(Б|б)аннер.*)|(.*(П|п)одар.*))|(.*(А|а)кци.*).*$ Полноценный Не будут добавляться кампании, в названиях которых есть слова баннер, подарок, акция, в том числе, если эти слова написаны с заглавной буквы, используются во множественном числе, склоняются или являются частями других слов.