Блог за онлайн маркетинг за бизнеса

Уеб анализ

Регулярни изрази в Google Analytics и Google Tag Manager: помощ за новаци

4
0
0

От всички регулярни изрази, преди използвах само (.*) :) Приятели и колеги, обаче ме посъветваха да си изясня всичко по въпроса. Не ми беше ясно защо са ми въобще и къде мога да ги прилагам, постоянно отлагах “теоретичната част” за по-добри времена.

Всичко се промени, когато ми се наложи по-плътно да работя с Google Analytics и Google Tag Manager в Netpeak.

Без познаване на регулярните изрази е сложно да си представим нормална настройка на филтри, потребителски сегменти в GA или правила в GTM.

Нека да си изясним с какво трябва да започне новакът, пристъпвайки към изучаване на регулярните изрази.

Какво е това регулярен израз

Регулярните изрази (regular expressions, RegExp) са набори от символи, прилагани при търсене в текстови редове, в съответствие на поставени условия. Резултатът от прилагане на регулярен израз е подмножество от данни, извлечено според логиката, заложена в израза. Регулярните изрази се прилагат във всякакви задачи за търсене в множество от данни, за които трябва да се получи извадка по определени критерии.

Синтаксис на регулярните изрази

Повечето символи в регулярните изрази представляват сами себе си, изключение правят групите от специални символи «[ ] \ / ^ $ . | ? * + ( ) { }». Ако тези символи трябва да се представят като символи в текста, те трябва да се заградят с обратно наклонена черта «\».

Ако тези специални символи се срещат без обратна наклонена черта, значи те имат специално значение в регулярните изрази:

  • «^» — каретка (caret), коректорски знак. Начало на реда;
  • «$» — знак долар. Край на реда;
  • «.» — точка. Всеки символ;
  • «*» – знак за умножение, звездичка. Произволен брой предишни символи;
  • «+» – плюс. Един или повече предишни символи;
  • «?» – въпросителен знак. 0 или 1 предишни символи;
  • «( )» – кръгли скобки. Групиране на конструкции;
  • «|» – вертикална линия. Оператор «ИЛИ»;
  • «[ ]» – средни скоби. Всеки от изброените символи, диапазон. Ако първият символ в тази конструкция е «^», то масива работи наобратно – проверяваният символ не трябва да съвпада с това, което е изброено в скобките;
  • «{ }» – големи скобки. Повторение на символа няколко пъти;
  • «\» – обратен слеш, обратно наклонена черта. Екраниране на служебни символи.

Също така, съществуват специални метасимволи. С тях може да се заменят някои готови конструкции:

  • \b — обозначава не символ, а граница между символи;
  • \d — цифров символ;
  • \D — нецифров символ;
  • \s — символ интервал;
  • \S — символ неинтервал;
  • \w — буквен или цифров символ или знак подчертаване;
  • \W — всеки символ, без буквен или цифров символ или знак подчертаване.

Пет начина да тествате своите знания за регулярни изрази

При изучаването на регулярните изрази (както във всичко друго) много е важна практиката. Колкото повече се упражняваш, толкова по-бързо започваш да създаваш правилни конструкции и да решаваш поставените задачи.

1. Изучаваме регулярни изрази в текстов редактор

Почти на всички нови колеги веднага препоръчвам да инсталират текстовия редактор NotePad++ и да започват да тренират в него. Защо именно в този текстов редактор:

  • в повечето случаи специалните символи не трябва да се екранират;
  • Notepad++ съхранява конструкциите на предишните заявки;
  • функцията «Търсене - Маркиране» нагледно показва резултата от търсене по зададена конструкция и позволява бързо да се направят поправки:

Изучаваме регулярни изрази в текстов редактор NotePad++

2. Проверяваме знанията си за регулярни изрази в Regex

Онлайн-услугата regex101.com дава възможност да въведете набор от данни и регулярен израз. След това в набора от данни се оцветяват редовете, съответстващи на израза. В специалния прозорец Explanation регулярният израз се дели на части:

В специалния прозорец Explanation регулярният израз се дели на части

Нека да потренираме: задача — да оцветим целия ред напълно. Трябва да поставим каретка срещу «multi line».

Трябва да поставим каретка срещу «multi line»

Тестови данни:

https://www.site.ua/
www.site.com/search?q=widget+thinger
http://www.site.com/page1/page2/page3/
http://www.site.com/index.php
https://www.site.com/products/100.php
http://www.site.us/products/101.php
http://www.site.com/products/102.php
http://www.site.ua/duals/index.html
http://www.site.com/ourteam/index.php
https://www.site.com/
http://site.com/profile
http://www.site.ru/ua/index.php
http://www.site.com/ua/producty/100.php
http://www.site.com/ua/producty/101.php
https://www.site.com/ua/producty/102.php
http://1.site.com/search?q=widget
http://www.site.com/search?q=widget+thinger
https://www.site.com/search?q=smidges
http://www.site.com/index/yy.jpg

Регулярни изрази за проверка на знания:

  • да се изберат всички страници;
    • (.*) — всякакво количество всякакви символи;
  • да се изберат всички страници с https;
    • ^https.* — всички URL, започващи с https;
  • всички страници с украински домейн;
    • .*/ua/.* — всички страници, в чиито URL се съдържа /ua/. Ако използваме просто ua, в селекцията ще попадне http://www.site.com/duals/index.html, а това е грешно;
  • всички начални страници;
    • .*index\.(php|html) — аналогично на горния израз, не трябва просто да се използва index;
  • всички продуктови страници (за руска и украинска версия);
    • .*product(s|y).* или .*product[sy].* — подходящи са и двата варианта.

3. Тестваме регулярни изрази с помощта на Jsfiddle

Jsfiddle е инструмент за експерименти с JavaScript. В него може да се проверяват условия за действие на функция или демонстрация на нужни резултати.

В този пример се вижда, как въз основа на регулярни изрази в началото се определя, дали е натиснат елемент линк към файл .pdf или .jpg. След това за елементи, които не са линкове към файлове, се определя име и цена на стоката. Всичко това се изяснява, изхождайки от текстовото съдържание на елементите.

4. Проверяваме грешки в регулярни изрази с помощта на Google Analytics

Най-бързият начин за проверка на знания за регулярни изрази е в Google Analytics — филтри в стандартни отчети. Влезте в своя акаунт и в произволен отчет, където има филтри, опитайте да извлечете някакъв набор от данни.

5. Нестандартни методи за усвояване на регулярни изрази

За любителите на интерактивното:

Алчни и неалчни квантори

Кванторите в регулярните изрази позволяват да се определи част от шаблона, която трябва да се повтаря няколко пъти подред. «Алчният» квантор се старае да обхване най-голям къс от текста, колкото може повече. А «неалчната» версия (добавя се символ-модификатор «?») търси най-малкото от възможно включеното.

Алчният квантор (*) обхваща всичко — от първите кавички до последните:

Алчният квантор

Неалчната версия на квантора (*?) търси най-малкото съвпадение, затова ще намери всеки израз по отделно:

Неалчната версия на квантора

Къде се използват регулярните изрази

SEO-специалистите прибягват до регулярните изрази при работа с Google Analytics, Яндекс.Метрика, RewriteRule в .htaccess, в текстови редактори, при работа с краулери (Netpeak Spider).

Ще разкажа за някои регулярни изрази, които често ми помагат.

  1. Отбележи всичко, освен домейна:
.*://|/.*

Използвам го, когато има голям списък с URL-адреси (например, външни линкове) и за анализ трябва да се покаже само домейна. В NotePad++ с помощта на функцията за търсене и замяна променям на празен ред и получавам чист списък от домейни:

В NotePad++ с помощта на функцията за търсене и замяна променям на празен ред и получавам чист списък от домейни

  1. Отбелязване на URL с определена вложеност:
.*://site.com/.*?/.*?/.*?/

Тук конструкцията (/.*?/) обозначава едно ниво на вложеност.

Използвам този израз, когато трябва да се определи максимално разрешена степен на вложеност в URL при сканиране на сайта в Netpeak Spider.

За да сканираме всички URL адреси само с първо ниво на вложеност, трябва да се въведат такива настройки:

Изводи

Регулярните изрази са полезен, мощен и съвършено безплатен инструмент за обработка на данни и опростена работа в различни онлайн услуги.

Доста е сложничко да се усвои, още по-сложно е да се научи правилно да се прилага. В замяна на това, инструментът съществено облекчава Вашата работа и я прави значително по-ефективна.

Да натрупаме любимите регулярни изрази в коментарите, а, какво ще кажете?

Открихте грешка? Маркирайте я и натиснете Ctrl + Enter.

Коментари (0)

Оторизирай се, за да коментираш

Абонирай се

за най-интересен бюлетин за онлайн маркетинг

Най

обсъждано популярно четено