Больше видео на нашем канале - изучайте интернет-маркетинг с SEMANTICA
Он применяется, когда нужно отсортировать большой объем текстовой информации по определенным параметрам, найти в строке конкретный фрагмент — например, при парсинге строк, сборе семантического ядра сайта, настройке фильтров и целей в системах аналитики.
Регулярки можно сравнить с азбукой Морзе. В ней буквы алфавита, цифры заменяются комбинациями точек и тире. Разница в том, что в случае с азбукой набору точек и тире может соответствовать только один набор символов. Регулярные выражения же показывают, какой вид может принимать строка. Другими словами, они формируют шаблон, которому должен соответствовать набор символов.
Что такое регулярные выражения простыми словами
Регулярные выражения — это своеобразный фильтр для текстовых данных. Например, нужно найти все doc-файлы на съемной носителе. Вручную искать долго и непродуктивно. Достаточно в поисковой строке ввести текст «*.doc», и система отберет все файлы с любым именем формата .doc. На будущее, символ «*» означает последовательность любых символов произвольной длины.
Механизм регулярных выражений был разработан в 1997 году создателями языка программирования С. Изначально регулярки были реализованы в библиотеке PCRE языка Perl. Но механизм оказался настолько удобным и полезным, что впоследствии эта библиотека стала использоваться в других языках — Java, JavaScript, PHP, C++ и т. д.
Упрощенная библиотека PCRE была введена в систему Google Analytics. Она не требует больших вычислительных мощностей, проста в освоении и использовании.
Где могут использоваться регулярные выражения
Они могут использоваться везде, где необходима фильтрация текстового типа данных. Часто они используются при разработке парсеров строк — синтаксических анализаторов.
Функционал для работы с регулярными выражениями есть в редакторе таблиц Excel, текстовых редакторах. При оптимизации сайтов применяется KeyCollector — программа для составления семантического ядра. Если требуется отобрать много ключей определенного шаблона, используются регулярные выражения.
Регулярки применяются и в сфере интернет-маркетинга. Аналитикам иногда нужно настраивать вид отчетов, фильтровать для них текстовые данные. Инструменты аналитики — Яндекс.Метрика и Google Analytics — позволяют пользоваться регулярными выражениями:
- для настройки целей;
- для фильтрации текстовой информации в отчетах — например, об источниках трафика;
- при работе с тегами в Google Tag Manager;
- для работы с фильтрами представлений — разделение источников трафика на сегменты.
Как пользоваться регулярными выражениями
Регулярные выражения строятся по определенным правилам. Символы могут быть обычными — буквы, цифры, могут быть специальными — метасимволами, которые используются для задания шаблона строки.
Всегда можно обойтись исключительно обычными символами — просто перечислить те строковые выражения, которые нужны. Использование метасимволов позволит упростить работу со строками, сэкономить время и силы. Нужно лишь один раз понять, как работают регулярные выражения.
Символ звездочка “ * ”
Этот символ используется, когда необходимо указать произвольное число повторений предшествующего символа.
Пример: tr*ack — маска. Под нее подойдет набор символов tack — символа r нет; подойдет track — одно вхождение символа; подойдет trrrrrack — несколько вхождений символа, стоящего перед звездочкой.
Символ вопросительный знак “ ? ”
Метасимвол так же, как и звездочка, указывает на предстоящий символ. Вопросительный знак указывает, что литера может либо отсутствовать, либо присутствовать в строке.
Пример: под маску tr?ack подходит два варианта. tack — отсутствие символа, track — одно вхождение.
Символ плюс “+”
Этот спецсимвол означает, что предыдущий символ может повторяться неограниченное число раз.
Пример: под маску tr+ack подойдут так же track, trrack, trrrack и т. д.
Символ точка “ . “
Точкой обозначается один произвольный символ.
Пример: к строке tr.ack подойдут наборы tr1ack, trRack, tr7ack и т. д.
Символ крышка “ ^ ”
Данный метасимвол означает, что следующий за ним набор символов должен находиться в начале строки.
Пример: шаблону ^track будут удовлетворять строки track, track10, но строки вида 10track, rtrack.
Символ доллар “ $ ”
Метасимвол указывает на то, что предшествующие ему элементы должны быть в конце строки.
Пример: выражению track$ будут удовлетворять следующие строки: 5track, aaatrack, и не будут удовлетворять track5, trackaaa.
Символы в квадратных скобках “ [ ] ”
Квадратные скобки заключают в себя набор символов, для которых допустимо лишь одно вхождение в строку одного символа.
Пример: выражению track[10] будет соответствовать строки track1 либо track0. Строки track10, track01 — нет.
Символы крышка в квадратных скобках “ [^ ] ”
Такое сочетание специальных символов указывает на то, что литер из квадратных скобок в строке быть не должно.
Пример: регулярке [^0-8] будет соответствовать строка track, и не будут соответствовать строки track08, track1 и т. д.
Символ дефис “ - ”
Это символ используется для задания диапазона. Например, для выбора всех прописных букв латинского алфавита можно воспользоваться дефисом, как было показано в предыдущем примере. Надо помнить, что в регулярных выражениях мы имеем дело с символами. Строка “76” расценивается как символы “7” и “6”. И если нужно исключить, например, диапазон двухзначных чисел, нужно выносить символ за скобки.
Пример: для выбора диапазона чисел 23-29 регулярное выражение примет вид “2[3-9]”.
Пример: это важный пример. При работе с Google Analytics часто возникает необходимость исключения определенных IP-адресов. Чтобы исключить адреса с 192.168.0.10 по 192.168.0.25, нужно воспользоваться маской 192\.168\.0\.(1[0-9]|2[0-5]).
Символ прямой слэш “ | ”
Вертикальный слэш означает логическую операцию ИЛИ. Применяется к группе символов, заключенных в круглые скобки. Выбирается либо выражение слева от метасимвола, либо справа.
Пример: в предыдущем примере мы выбирали диапазон чисел 10 — 25. Поскольку за скобки мы не можем одновременно вынести цифры 1 и 2, мы поступили так — (1[0-9]|2[0-5]).
Символы круглые скобки “ ( ) ”
Круглые скобки нужны, когда группу элементов нужно объединить в один символ.
Пример: регулярному выражению track(10)+ будет соответствовать строка track1010, track101010. Мы объединили символы “1” и “0” в одну группу “10”, а “+” указывает, что эта группа может повторяться произвольное число раз.
Символы фигурные скобки “ { } ”
В фигурных скобках задается число повторений последнего символа. Можно указать промежуток, например, “{2,4}” или неограниченное число повторений — “{2,}”.
Пример: маске (track){2} будет соответствовать строка “tracktrack”, а выражению (track){2,} — все строки tracktrack, tracktracktrack и т. д.
Выражение “ \d ”
Для упрощения работы можно пользоваться конструкциями, которые сокращают запись регулярных выражений.
Эта конструкция ставится в соответствию любому символу и заменяет строку “[0-9]”.
Выражение “ \D ”
Это сочетание символов используется, когда нужно исключить все цифры. Она эквивалентна строке “[^0-9]”.
Выражение “ \w ”
Такая конструкция заменяет любую букву алфавита, цифру или знак нижнего подчеркивания “_”.
Выражение “ \W ”
Этому сочетанию символов ставится в соответствие все символы, которые не входят в предыдущую группу — которые не являются буквами, цифрами или подчеркиванием “_”.
Выражение “ \s ”
Конструкция заменяет любой пробельный символ. Пробелов может быть произвольное число.
Выражение “ \S ”
Соответствует любому символу, не являющемуся пробельным.
Регулярные выражения и Google Analytics
Конструкций, которые используются при составлении регулярных выражений, очень много. Мы привели те, которые часто требуются при работе с системами аналитики.
Инструмент Google Analytiсs включает внутренний интерпретатор регулярных отношений. Он упрощен, но функционала достаточно при работе с сервисом.
Регулярными выражениями можно пользоваться при настройке целей.
Например, если конечный адрес содержит динамически изменяющийся параметр. Допустим, у вас есть интернет магазин, и для каждого пользователя формируется уникальный ID заказа. Чтобы настроить цель, можно использовать регулярное выражение. Динамической частью будет строка вида ORD—XXXXXX, где XXXXXX — автоматически генерируемый номер из цифр.
Для адреса example.com/user/ordes/ORD-123456 регулярное выражение для цели будет иметь вид: ^example\.com\/user\/orders\/ORD—\d{5}.
- ^ — начинается с;
- \ — экранирование следующего символа;
- \d{5} — последовательность из 5 цифр.
При формировании отчетов можно фильтровать источники трафика. Если вас интересуют только пользователи, пришедшие из выдачи Яндекса или Google, используйте конструкцию (yandex|google). Результатом будут строки, где есть эти значения.
Использование регулярных значений упрощает и ускоряет работу с отчетами и настройку систем аналитики. Научиться пользоваться регулярками легко — нужно один раз понять принцип построения конструкций.