Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:
Россия +7 (909) 261-97-71
13 Мая 2019 в 11:53

Язык регулярных выражений для интернет-маркетолога

Россия +7 (909) 261-97-71
0 14136
Подпишитесь на нас в Telegram
Дмитрий Зильберт
Deputy Head of Online Marketing WiseAdvice Consulting Group

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

Большинство руководств по RegExp сложны и ориентированы на технарей, при этом абстрактно описывают область применения этого инструмента.

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

Как могли выглядеть регулярные выражения в древности

Регулярные выражения Древней Греции

Intro

Материал рассчитан на интернет-маркетологов и SEO-специалистов без опыта в программировании, содержит упрощения и терминологические неточности. Это осознанный шаг для снижения порога входа в тему.

Регулярные выражения – это последовательности символов (масок), которые определяют поисковые паттерны при использовании операции «найти/заменить». Синтаксис RegExp поддерживается множеством приложений и сервисов.

Но не будем начинать с описания синтаксиса, а лучше давайте сразу посмотрим, как и где регулярные выражения применяются, какую пользу можно извлечь, а когда будет понятна ценность – вы сможете расширить и закрепить полученные знания.

1. Настройка целей в Google Analytics

Допустим, на нашем сайте есть коллтрекинг и форма обратной связи, а при отправке формы или звонке по подменному номеру коллтрекинга в Google Analytics отправляются события, которые считаются в разных целях.

Условия события для формы callback   Условия события "Звонки коллтрекинг"

Для оптимизации кампаний по CPL будет удобнее параллельно считать эти события в общей цели. Регулярные выражения позволяют решить эту задачу и поддерживаются Google Analytics. Посмотрим, как будет выглядеть настройка общей цели:

Пример настройки общей цели в Google Analytics

Настройки для общей цели в Google Analytics

Разберем значения полей, чтобы понять условия срабатывания:

  • «|» – вертикальный разделитель, логическое «ИЛИ». Сначала проверяется условие слева от разделителя, затем условие справа. В нашем случае это вхождение form или phone в категорию, sent или call в действие и так далее.
  • «^» – крышечка, начало строки и «$» – доллар, конец строки. Используем, чтобы исключить ложное срабатывание, если какой-то сервис будет отправлять не одноименное, но схожее имя события (категории, действия, ярлыка).

Источников событий может быть много – email-трекинг, онлайн-чат, виджет обратного звонка. С помощью регулярок легко объединить все эти события в одной цели.

2. Настройка показа через Google Tag Manager

Частая задача при подключении виджетов через GTM – выбор страниц показа. Например, мы решили использовать виджет с Pop-up формой «Подпишитесь на рассылку» для сбора email-адресов в разделе «Статьи».

Google Tag Manager также поддерживает синтаксис регулярных выражений, настроим триггер для виджета, который хотим показывать на страницах статей:

Настройка триггера через Google Tag Manager

У нас появились новые символы: «.» – точка, любой символ (буква, цифра, спецсимвол), в сочетании со звездочкой «*», обозначает любое количество любых символов, то есть любую страницу, вложенную в articles, включая ее саму.

3. Настройка редиректов в .htaccess

С настройкой 301 редиректов чаще сталкиваются разработчики и SEO-специалисты, но и для интернет-маркетолога навык не будет лишним. Лично меня знание этого функционала часто выручало в «переездах» между сайтами и фиксинге проблем.

Допустим у нас был сайт, где все услуги лежали по адресу http:\/\/example\.org\/uslugi\/*, а все статьи по адресу http:\/\/example\.org\/stati\/* – на новом сайте все материалы переехали в другие разделы, при этом адреса всех вложенных страниц сохранились.

Если страниц немного, можно пойти простым путем и прописать редиректы для каждой, но что если страниц сотни или даже тысячи? Тут не обойтись без регулярных выражений. Итак, подключаемся по FTP/SSH, открываем .htaccess и вносим правки:

Как настроить редиректы в htaccess

Не будем вникать в синтаксис .htaccess, а сосредоточимся на используемых регулярных выражениях. Тут мы видим знакомые нам символы начала строки «^» и конца строки «$», а также любого количества любых символов «.*».

Символы «.*» заключены в скобки, а в конце правила перенаправления появился «$1». Скобки можно назвать запоминающими – они сохраняют заключенную в них последовательность для каждой строки и передают ее в переменную $1.

Таким образом любое перенаправления с любой страницы будет корректно переадресовано в новую директорию и не потребуется прописывать кучу редиректов.

4. Экспорт в электронную таблицу

Другая частая задача – когда надо собрать информацию из какого-то сервиса и представить ее в табличном виде, а экспорта данных в CSV нет.

Например, мы решили выбрать название для своего лампового блога по интернет-маркетингу и нагенерили 1000 вариаций доменных имен.

Варианты доменных имен после генерации

Список доменов после генерации

Потом мы их пакетно проверили на возможность регистрации и теперь хотим сделать табличку и выбрать лучший вариант с учетом стоимости и возможности регистрации.

Результаты пакетной проверки доменных имен

Результаты пакетной проверки доменов

Если мы попробуем скопировать эту информацию в электронную таблицу, то получим много строк никак не разделенного текста. А мы хотим, чтобы домен, стоимость, доменная зона и ее тематика были в разных столбцах для фильтрации данных.

Под решение этой задачи потребуется среда для работы с регулярными выражениями. Самое удобное решение – это приложение Notepad++, возможен также и вариант использования надстройки для Excel или других программ, например, Calc Open Office (аналог MS Excel) поддерживает регулярки «из коробки».

Скопировав результаты проверки в файл получим: домены с новой строки, цены – тоже с новой строки, все данные разделены пробелами, без табуляции.

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

Напомню, мы хотим получить таблицу, где первый столбец с доменным именем, второй с ценой, третий с доменной зоной, четвертый – тематика доменной зоны.

Для этого нам надо будет выполнить несколько последовательных действий. В нашем примере мы работаем с тысячами доменов и сделать это руками – не вариант.

Последовательность операций «найти/заменить», которые приведут нас к результату:

1. Убрать пробел, отделяющий разряды в цене.

Условие поиска: ([0-9]) ([0-9][0-9][0-9]) – находим числа, разделенные пробелами, и запоминаем их в первые и вторые запоминающие скобки.

Условие замены: $1$2 – результат первых запоминающих скобок ($1) добавляем ко второму ($2), без пробела.

Удаление пробела с помощью регулярных выражений

Удаление пробела

2. Убрать копейки и «руб» из цены.

Условие поиска: \.00 руб – чтобы «.» была не любым символом, а точкой, перед ней надо добавить обратный слеш (экранировать)

Условие замены: пустая строка.

Удаление копеек с помощью регулярных выражений

Удаление копеек

3. Убрать переносы строк.

Первая строка в нашем файле заканчивается на английскую букву (доменной зоны), а следующая за ней строка начинается с цифры (цены) – надо убрать переносы строк.

Условие поиска: ([a-z])\r\n([0-9]) – находим латинскую букву в конце строки \r и цифру, с которой начинается новая строка \n, используем две пары запоминающих скобок.

Условие замены: $1 $2 – результаты первых запоминающих скобок добавляем ко вторым запоминающих скобкам через символ пробела.

Удаление переносов строк с помощью регулярных выражений

Удаление переносов строк

4. Заменить пробелы на символы табуляции.

Осталось заменить оставшиеся пробелы на символы табуляции \t.

Замена пробелов на табуляцию с помощью регулярных выражений

Замена пробелов на табуляцию

Теперь копируем и вставляем полученные результаты в электронную таблицу. Данные представляются корректно, с ними удобно работать.

Представление данных в табличном виде

Данные в табличном виде

Outro

Не буду приводить длинного академического описания всех символов – есть Wiki и много материалов, более глубоких и терминологически правильных, чем этот. Я хотел лишь упростить сложное, заинтересовать, чтобы вы начали работать с регулярками.

Если вам стало интересно – рекомендую установить себе надстройку для Excel, скачать Notepad++, чтобы среда для работы с RegExp всегда была под рукой. А если что-то не получится – есть сервисы для отладки, которые подробно описывают работу вашего регулярного выражения посимвольно, что крайне удобно. Удачи!

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

0 комментариев
Подписаться 
Подписаться на дискуссию:
E-mail:
ОК
Вы подписаны на комментарии
Ошибка. Пожалуйста, попробуйте ещё раз.

Отправьте отзыв!
X | Закрыть