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

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

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

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

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

Intro

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

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

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

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

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

   

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

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

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

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

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

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

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

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

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

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

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

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

Если страниц немного, можно пойти простым путем и прописать редиректы для каждой, но что если страниц сотни или даже тысячи? Тут не обойтись без регулярных выражений. Итак, подключаемся по FTP/SSH, открываем .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 всегда была под рукой. А если что-то не получится – есть сервисы для отладки, которые подробно описывают работу вашего регулярного выражения посимвольно, что крайне удобно. Удачи!

(Голосов: 16, Рейтинг: 5)