Google Аналитика поддерживает регулярные выражения, благодаря чему можно создавать более гибкие определения фильтров данных, ключевых событий, сегментов, аудиторий, групп контента и групп пользовательских каналов.
В Google Аналитике регулярным выражением называют последовательность символов, которая более или менее широко соответствует шаблонам данных Аналитики.
Например, если нужно исключить статистику о посещениях сайта вашими сотрудниками, можно настроить для представления фильтр с регулярным выражением, в котором будут определены все IP-адреса компании. Допустим, это диапазон 198.51.100.1 – 198.51.100.25. Чтобы не вводить каждый из 25 IP-адресов, создайте регулярное выражение вида 198\.51\.100\.\d*, соответствующее всему диапазону.
Если вам нужен фильтр, включающий данные по кампании только из двух городов, вы можете создать регулярное выражение вида Санкт-Петербург|Москва (Санкт-Петербург или Москва).
Метасимволы регулярных выражений
Подстановочные знаки
| . | Соответствует любому символу, но только одному (букве, цифре или символу). | 1. соответствует 10, 1A 1.1 соответствует 111, 1A1 Примеры |
| ? | Означает, что предшествующий символ может присутствовать или отсутствовать в строке. | 10? соответствует 1, 10 Примеры |
| + | Означает, что предшествующий символ присутствует и может повторяться несколько раз. | 10+ соответствует 10, 100 Примеры |
| * | Означает, что предшествующий символ может отсутствовать, присутствовать или повторяться несколько раз. | 1* соответствует 1, 10 Примеры |
| | | Логический оператор ИЛИ. Не используйте этот символ в конце регулярного выражения. |
1|10 соответствует 1, 10 Примеры |
Обозначение позиции в поле
| ^ | Означает, что соседние символы находятся в начале строки. | ^10 соответствует 10, 100, 10x ^10 не соответствует 110, 110x Примеры |
| $ | Означает, что соседние символы находятся в конце строки. | 10$ соответствует 110, 1010 10$ не соответствует 100, 10x Примеры |
Группы
| ( ) | Означает, что заключенные в скобки символы присутствуют в указанном порядке в любом месте строки. Также используется для группировки других выражений. |
(10) соответствует 10, 101, 1011 ([0-9]|[a-z]) соответствует любой цифре или строчной букве Примеры |
| [ ] | Означает, что заключенные в скобки символы присутствуют в любом порядке в любом месте строки. | [10] соответствует 012, 120, 210 Примеры |
| - | Означает, что любой символ из заключенного в квадратные скобки диапазона может присутствовать в любом месте строки. | [0-9] соответствует любой цифре от 0 до 9 Примеры |
Экранирование
| \ | Означает, что соседний символ нужно интерпретировать буквально, а не как метасимвол регулярного выражения. | \. означает, что точку нужно интерпретировать как пунктуационную точку или десятичный знак, а не как подстановочный знак. 216\.239\.32\.34 соответствует 216.239.32.34 Примеры |
Советы
Пользуйтесь простыми выражениями
Если делать регулярные выражения как можно более простыми, другим пользователям будет проще их интерпретировать и изменять.
Сопоставляйте метасимволы
Используйте обратную косую черту (\), чтобы обозначить в регулярном выражении те метасимволы, которые нужно интерпретировать буквально. Например, если в качестве разделителя групп цифр в IP-адресе вы используете точку, предварите ее обратной косой чертой (\.), чтобы она не интерпретировалась как подстановочный знак.
Полные и частичные регулярные выражения
Google Аналитика по умолчанию поддерживает полные регулярные выражения. Это означает, что без добавления метасимволов выражение возвращает только точно совпадающие значения. Чтобы создать частичное регулярное выражение и фильтр для параметров, содержащих определенное значение, можно использовать метасимволы, например ".*".
Пример
- Полное регулярное выражение по умолчанию. Для параметра "Город" регулярное выражение "Новгород" будет возвращать только значение "Новгород".
- Частичное регулярное выражение. Выражение ".*Новгород.*" будет возвращать как значение "Новгород", так и значение "Нижний Новгород".