Регулярные выражения в 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 с помощью регулярного выражения можно указать все страницы, на которых должно срабатывать событие.
Задача | Примеры выражений | Тип синтаксиса | Комментарий |
---|---|---|---|
Указать конкретную страницу | 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 можно указать поле, по которому будут фильтроваться сделки, и значение поля, которое можно указать с помощью регулярного выражения.
Задача | Примеры выражений | Тип синтаксиса | Комментарий |
---|---|---|---|
Загружать сделки из нескольких регионов | (Москва|Санкт-Петербург|Казань) | Упрощенный | Будут загружаться только сделки из Москвы, Санкт-Петербурга и Казани. |
Исключить сделки из определенных регионов | ^(?!.*(Москва|Санкт-Петербург)).*$ | Полноценный | Не будут загружаться сделки из Москвы и Санкт-Петербурга. |
Не загружать определенный тип лидов | ^(?!.*(Нецелевой)).*$ | Полноценный | Не будут загружаться лиды с типом Нецелевой. |
Загружать сделки только определенных менеджеров | (11|12|15|17) | Упрощенный | Необходимо указать ID каждого менеджера. ID можно найти в CRM. |
Настройка рекламных каналов – загрузка кампаний¶
В настройках интеграции с рекламным каналом можно указать, какие кампании нужно подключать к Roistat. В поле Добавлять только кампании, название которых содержит можно задать условия с помощью регулярного выражения (при этом должна быть включена опция Добавлять новые кампании автоматически).
Задача | Примеры выражений | Тип синтаксиса | Комментарий |
---|---|---|---|
Добавлять только кампании, в названиях которых есть определенное слово | баннеры или (Б|б)аннеры (чтобы учитывать любой регистр первой буквы) | Упрощенный | Будут добавляться кампании, в названиях которых есть слово баннеры, в том числе, если оно является частью другого слова (например, баннеры1, смарт-баннеры). |
Добавлять только кампании, названия которых содержат хотя бы одно из перечисленных слов | ^((Б|б)аннеры|(П|п)одарки|(А|а)кция) Если нужно указать части слов: ^((.*(Б|б)аннер.*)|(.*(П|п)одар.*|.*(А|а)кци.*)) | Полноценный | В первом случае учитываются кампании с точными соответствиями в названии, например: Баннеры поиск, Подарки 1, Акция распродажа. Также добавлен учет регистра первой буквы. Во втором случае указаны фрагменты слов, чтобы учитывались кампании, в которых слова склоняются и являются частями других слов. Например, будут учитываться кампании с названиями Смарт-баннеры, Баннер1, Подарки, Подарок1, Акция, Акции. |
Не добавлять кампании, в названиях которых есть определенное слово | ^(?!.*((Б|б)аннеры)).*$ | Полноценный | Не будут добавляться кампании, в названиях которых есть слово баннеры или Баннеры, в том числе, если до или после этих слов есть другие символы. |
Не добавлять кампании, в названиях которых есть хотя бы одно из перечисленных слов | ^(?!.*(.*(Б|б)аннер.*)|(.*(П|п)одар.*))|(.*(А|а)кци.*).*$ | Полноценный | Не будут добавляться кампании, в названиях которых есть слова баннер, подарок, акция, в том числе, если эти слова написаны с заглавной буквы, используются во множественном числе, склоняются или являются частями других слов. |