Как разбить utm-метку с помощью регулярных выражений

Для интернет-маркетолога обычно стоит обратная проблема → сгенерировать utm-метку. А вот для аналитика, нужно связать данные и такие utm-метки нужно научиться разбивать. Это можно сделать программным путём, но сегодня расскажу как это сделать через Google Sheet с помощью регулярных выражений.

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

Допустим, у нас есть ссылка:
url.ru?utm_campaign=campaign&utm_source=source&utm_medium=medium

Используем RegEx (регулярные выражения) сначала для извлечения utm_campaign:

RegExReplace(ЯЧЕЙКА-С-ССЫЛКОЙ, ".*(\?|\&)(utm_campaign\=)","")

Объяснение формулы:

. (точка) — это любой символ
* (звездочка) — это любое количество символов

То есть начало звучит так: «может быть любое количество любых символов».

После этого ставим остановку, до какого момента у нас может быть «любое количество, любых символов»

(\?|\&) — скобочки — это группировка, то есть вначале смотрим что происходит в этих скобочках.

\? — знак \ обозначает что следующий символ будет обычных символом, а не служебным регулярным выражением. А знак вопроса, что надо будет искать.

| — знак ИЛИ. регулярное выражение будет искать ?, если не найдет, то будет искать &.

(utm_campaign\=) — группа, которая говорит, что надо найти выражение utm_campaign=

После этого мы получим выражение
campaign&utm_source=source&utm_medium=medium

а все что было до campaign отрежется (дословно по Google Sheet заменит на пустоту). Поэтому нам нужно повторить формулу, чтоб убрать лишние символы в конце:

=REGEXREPLACE(REGEXREPLACE(A2,".*(\?|\&)(utm_campaign\=)",""),"\&.*","")

или

=REGEXREPLACE(СТАРОЕРЕГВЫРАЖ,"\&.*","")

В этой формуле мы в начале ищем символ &, а после нам нужны любые символы (`.`) до тех пор, пока эти символы будут встречаться (`*`).

Если хочет посмотреть пример, то он доступен по этой ссылке.

Поделиться
Отправить
Популярное