Содержание
Регулярные выражения — Метрика. Справка
Регулярные выражения могут использоваться при определении целей Посещение страниц, Составная цель, JavaScript-событие, а также при сегментировании по условиям, в которых фигурируют URL (например, источники трафика).
Примечание. При настройке цели типа «JavaScript-событие» регулярное выражение должно содержать только значение идентификатора (без домена и протокола сайта).
Пример
Чтобы отследить нажатие кнопки с идентификатором, который содержит button или buy, в качестве условия можно указать button|buy
.
Выражения обрабатываются в соответствии с синтаксисом RE2 и следующими правилами:
Регулярное выражение применяется к полному URL страницы, включая протокол и домен. Например, вы можете использовать регулярное выражение:
^http://
.Регулярное выражение применяется дважды: к оригинальному URL и к URL с префиксом
www
и без него. Благодаря этому результат проверки выражения не зависит от наличия префиксаwww
в домене.Регулярное выражение применяется к декодированному URL, в котором URL-коды (%-последовательности) заменены на декодированные символы (исключение: коды символов
/
,&
,=
,?
,#
не заменяются; например,%2F
не будет заменен на/
). http://xn--b1aaa\.xn--80aswg\.xn--p1ai/ — нет.Перед проверкой регулярных выражений из окончания URL исключаются символы ?, #, & и точка (.). Например, для URL http://example.com/?, http://example.com/#, http://example.com/?var=1& сравнение будет производиться с http://example.com/, http://example.com/, http://example.com/?var=1 соответственно. В случае, если пользователь ввел URL http://example.com./, то регулярное выражение
\./$
не будет обработано.При проверке регулярных выражений квантификаторам соответствует максимально длинная строка.
Проверка производится с учетом регистра символов в URL.
В таблице ниже a
, b
, c
, d
, e
— любые символы, n
, m
— целые положительные числа. \t\n\f\r ].
Соответствует латинской букве любого регистра, цифре или знаку подчеркивания.
При работе с символами Unicode вместо \w используйте класс \pL
.
Соответствует любому символу, отличному от латинской буквы любого регистра, цифры или знака подчеркивания.
При работе с символами Unicode вместо \w используйте класс \pL
.
a
, повторенному 0 или более раз (выбирается максимально длинная последовательность из возможных).a
, повторенному 1 или более раз (выбирается максимально длинная последовательность из возможных).a
, повторенному 0 или 1 раз (приоритетно наличие символа).a
, повторенному не менее чем n
и не более чем m
раз (выбирается максимально длинная последовательность из возможных).a
, повторенному не менее чем n
раз (выбирается максимально длинная последовательность из возможных).a
, повторенному ровно n
раз.a
, повторенному 0 или более раз (выбирается самая короткая последовательность из возможных).a
, повторенному 1 или более раз (выбирается самая короткая последовательность из возможных).a
, повторенному не менее чем n
и не более чем m
раз (выбирается самая короткая последовательность из возможных).Соответствует границе слова — позиции между алфавитно-цифровым символом (\w
) и не алфавитно-цифровым (\W
).
Соответствует отсутствию границы слова. Определяется через классы \w
и \W
.
Обратная косая черта перед специальным символом [ ] \ ^ $ . | ? * + ( ) { }
означает, что этот символ не является специальным и должен интерпретироваться буквально.
Пример: \$
соответствует значку доллара.
\Q
и \E
интерпретируются как обычные символы.Обратите внимание: служба поддержки не обзванивает пользователей. Не следуйте указаниям людей, которые вам звонят и представляются службой поддержки Яндекс Метрики.
Регулярные выражения + JS событие. Очередное обновление от Яндекс.Метрики — CMS Magazine
Яндекс.Метрика выкатила очередное обновление. Наконец-то возликуют те, кто не любит плодить по 100500 целей в интерфейсе! Теперь появилась возможность объединить js-события в одну цель, избегая настройки через составную цель. Ведь раньше приходилось задавать каждую цель через условие «или». Конечно, можно предварительно объединить все события в одном теге через GTM… Но что, если события для Метрики прописаны напрямую в коде сайта или частично настроены и в коде, и в GTM? В этом случае регулярные выражения упростят жизнь.
Регулярные выражения могут помочь ускорить вашу работу в инструментах аналитики, а также добавить дополнительную гибкость в работе с данными. Если вы только начинаете их изучать, то регулярные выражения могут показаться сложными, но помните, что вам не нужно их зазубривать, есть много ресурсов, которые могут вам помочь.
В Метрике регулярные выражения можно использовать при настройке сегментов, при настройке цели «Просмотр страницы», а также с недавних пор, при настройке js-событий.
Пример сегментации:
Что соответствует любому вхождению символов, как в начале, так и в конце
Пример использования при настройке цели «Посещение страниц»:
Например, здесь вы можете использовать регулярное выражение для сопоставления нескольких страниц благодарности при настройке цели
Разберем пример на основе js-события
Давайте представим такую ситуацию: у вас есть три тега в GTM, в которых предварительно настроена передача событий в Метрику. Каждый тег содержит разные идентификаторы js-события. Например, Form_callback
, Form_question
, Form_calculator
.
А также бывший подрядчик настроил для клиента передачу данных в Метрику напрямую через код сайта. В ID события он прописал произвольные названия: FormOrder
, 1click_order
. Но вы не хотите перенастраивать эти события через GTM.
Оптимальным вариантом объединить такие события раньше была составная цель:
Приходилось прописывать каждый шаг через условие «или»:
Как это выглядит сейчас:
Где в качестве условия мы выбираем «или», что соответствует вертикальной черте «|». И прописываем все наши идентификаторы:
1click_order|FormOrder|Form_calculator|Form_question|Form_callback
Что соответствует одному из вариантов: 1click_order
, или FormOrder, или Form_calculator
, или Form_question
, или Form_callback
. Form — это соответствует FormOrder
, FormCallback
, FormFeedback
, но не соответствует QuestionForm
.
Знак доллара ($)
Значит, что-то заканчивается на …
Например: Click$
— это соответствует Click
, Mail_Click
, Phone_Click
, но не соответствует Clicks
, ClickPhone
, ClickProduct
.
Пока не выкатили полную инструкцию по применению регулярных выражений в настройках JS-событий. Предположительно, будет использоваться базовый синтаксис, который используется при работе с сегментами в Метрике.
Подробнее можно узнать тут: Регулярные выражения
Больше не нужно искать и обзванивать каждое диджитал-агентство
Создайте конкурс на workspace.ru – получите предложения от участников CMS Magazine по цене и срокам. Это бесплатно и займет 5 минут. В каталоге 15 617 диджитал-агентств, готовых вам помочь – выберите и сэкономьте до 30%.
Создать конкурс →
Подводя итоги
Регулярные выражения — это действительно то, что должен знать каждый аналитик, даже если вы не считаете себя техническим специалистом. Кроме того, если вы специалист в контекстной рекламе, вам также не помешают базовые навыки в работе с регулярными выражениями
Поэтому я рекомендую вам начать учиться и, что более важно, просто начать практиковаться в использовании регулярных выражений. Они не такие уж страшные.
Полезные материалы
-
Регулярные выражения в Google Analytics
-
Как использовать регулярные выражения в Google Analytics и Google Tag Manager
-
Google Analytics RegEx: Cheat Sheet, Tips, & Mistakes To Avoid
-
Использования регулярных выражений в гугл аналитикс
-
Как регулярные выражения упрощают работу в Google Analytics и Google Tag Manager
RegEx для расстояния в метрической системе
спросил
Изменено
1 год, 6 месяцев назад
Просмотрено
2к раз
Я хочу, чтобы RegEx
соответствовал значениям расстояния в метрической системе. Это регулярное выражение должно соответствовать 12 м
, 100 см
, 1 км
игнорирование пробелов
- регулярное выражение
- расстояние
2
Попробуйте так:
(?:0|[1-9]\d*)\s*(?:da|[yzafpnμmcdhkMGTPEZY])?m
2
И расширить ответ Пола, включив десятичные разряды…
(\d+).?(\d*)\s*(m|cm|km)
2
Поскольку вы не указали точно, что вы хотели, я использовал ваши примеры, чтобы вывести, что вы хотите найти целочисленное значение, за которым следует необязательный пробел, за которым следует спецификатор единицы измерения см, м или км. Итак — это самый простой пример того.
/(\d+)\s*(м|см|км)/
Первые круглые скобки фиксируют число, затем он пропускает 0-много пробельных символов перед захватом необходимых единиц во втором наборе круглых скобок.
Как вы можете видеть в других ответах, вы можете выйти за рамки этого, чтобы подобрать десятичные значения, а также захватить более широкое количество префиксов единиц СИ. 9(\d+)[.,]?(\d{1,4})[ ]?(мм|м|см|км)$
Соответствие:
123
123,456
134,456
Не совпадение:
ABC
ABC, 456
123ABC
123, ABC
1
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
облачная платформа Google — создание метрики распределения с помощью метрик на основе журналов и регулярных выражений
Задать вопрос
спросил
Изменено
1 год, 5 месяцев назад
Просмотрено
1к раз
Часть Google Cloud Collective
Я пытаюсь создать метрику, извлеченную из строки из некоторых журналов.
Я создаю новую метрику журнала распространения. Я применяю фильтр, чтобы получить правильные журналы. Фильтр работает, я могу просмотреть его.
Затем я ввожу имя поля для своей метрики. Здесь нет проблем, так как я могу найти это в предлагаемых значениях.
Теперь поле возвращает мне строку с некоторыми параметрами запроса. Я хочу преобразовать значение одного из этих параметров запроса в метрику. Я добавляю регулярное выражение для этого. 9&]*)
Как и было предложено, я попробовал следующее регулярное выражение Version=([0-9]+)
. Выход такой же.
, но метрика не работает. При открытии обозревателя показателей появляется следующее сообщение:
В виде линейной диаграммы можно отображать только числовые данные показателей. предоставленные данные не могут быть отрисованы
Я что-то здесь упускаю?
#edit1
Пробовал что-то попроще. У меня есть поле, которое возвращает только значение. Например "348"
, если я смотрю журнал. Я попытался построить метрику распределения на основе этого поля, используя следующее регулярное выражение ([0-9.]+)
, и у меня та же проблема. Вывод, похоже, не читается как числовые данные.
#edit2
Добавление некоторых иллюстраций
В журнале с полем запроса
Настройка метрики на основе журнала с помощью REGEX
и выход
- Regex
- Regex
- google-cloud-stackdriver
- google-cloud-logging
- google-cloud-monitoring
и выход
20
20
и0021 google-cloud-platform
8
Как уже упоминалось @c69, вы можете отображать метрики со значениями распределения, используя тепловую карту. Тепловые карты используют цвет для представления значений в распределении. С тепловыми картами вы можете перекрывать линии процентилей и настраивать эти диаграммы так, чтобы отображались только выбросы.
Если вы хотите использовать линейные диаграммы, вы должны преобразовать гистограмму в числовое значение. Один из способов выполнить это преобразование — построить график определенного процентиля распределения.
Значения процентилей для показателей распределения вычисляются, и алгоритм зависит от числа сегментов, ширины сегментов и формы гистограммы:
Значения 50-го, 95-го и 99-го процентиля всегда разные.
Однако они могут показывать разные процентили в пределах одного и того же
ведро.Процентили не генерируются на основе измерений, поскольку эти значения недоступны.
Ширина корзины определяет максимальную ошибку между вычисленным процентилем и измерениями.
Количество выборок в гистограмме важно. Например, если это число меньше 20, то 95-й и 99-й процентили всегда находятся в одном сегменте.
Для любой метрики распределения вы можете использовать Cloud Monitoring API для
определить модель сегмента, используемую для этой метрики.