Укр
Рус
Українська мова
Русский язык
Аналітика

Що таке регулярні висловлювання та як ними користуватися

«Регулярка» - одна з найкорисніших функцій у практиці використання Google Analytics, і при цьому недооцінених. Багато хто лякається її складнощів і обходить стороною, і при цьому позбавляє себе сотні зекономлених годин.
23 вересня 2021
0
16 хв
    Зміст

Регулярні вирази (regular expressions, RegExp) – інструмент, який допомагає шукати рядки тексту та перевіряти їх на відповідність зазначеному шаблону, слову чи символу. В результаті знаходимо дані, які відібрані згідно з правилом, закладеним у виразі.

І таких прикладів може бути дуже багато. Регулярні вирази можна застосовувати не тільки для пошуку URL, а взагалі для всіх текстових даних, до яких ви можете дотягнутися. Файли на комп'ютері, текстові редактори та таблиці, системи аналітики на кшталт Google Analytics та Яндекс Метрики, програма для збору семантичного ядра KeyCollector та інші популярні програми. А шаблони, за якими потрібно знайти дані, обмежуються тільки вашою уявою.

Регулярні вирази доступні і середньостатистичному користувачу ПК, а не тільки розумним програмістам. Так що не пропустіть шанс ознайомитися з RegExp ближче.

Регулярні вирази та Google Analytics

У цій статті ми ближче знайомитимемося з regular expressions саме в контексті аналізу трафіку в Google Analytics (GA). Так що подивимося, де і для чого в GA можна використовувати регулярні вирази.

  • Для розширеного фільтра.
  • Там є опція «пошук відповідного регулярного виразу».
  • Для налаштування цілей.
  • При створенні сегментів.
  • Для налаштування фільтрів в представленнях.
  • Для створення звітів у таблицях (за допомогою Google Analytics Spreadsheet Add-on) або Google Data Studio.
  • При використанні API Analytics.
  • Для налаштування тригерів у Google Tag Manager.

API (Application programming interface) — інтерфейс прикладного програмування, який забезпечує взаємодію кількох програм між собою. Наприклад, коли з однієї програми, ви можете отримати доступ до даних Google Analytics безпосередньо.

Як встановити Google Tag Manager на свій сайт: детальна інструкція
Читайте також
Як встановити Google Tag Manager на свій сайт: детальна інструкція
04 січня 2021
0
10

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

Символи в регулярних виразах поділяють на два види:

  • Літерали (звичайні символи).
    Складають більшу частину символів у регулярних виразах.
    Представляють самі себе.
  • Метасимволи (спеціальні символи).
    Вказують інші символи.

Звичайно можна використовувати тільки літерали, але набагато більше можливостей відкривається якщо використовувати комбінації літералів та метасимволів.

Метасимволи

Для подальшого опису, щоб точно уникнути плутанини, майте на увазі, що метасимвол буде вказаний у лапках. Тож якщо написано «.», то розуміємо це як один символ – крапку, а не три символи – лапку, крапку, лапку.

  • «.» (Крапка)
    Означає один символ.

    Наприклад «А.» означає будь-яке поєднання великої літери А та одного будь-якого символу після літери А: А1, АП, Ас, А8, і так далі.
  • «*» (Зірочка)
    Вказує на те, що символ, який стоїть перед зірочкою, може бути присутнім, відсутнім або навіть кілька разів поспіль повторюватися.

    Приклад: регулярний вираз «20*» виловлюватиме значення: 2, 20, 200, 2000 і таке інше. Адже символ «0» відсутній у значенні «2», присутній у значенні «20», а також кілька разів поспіль повторюється у значеннях «200» і «2000».
  • «?» (Знак питання)
    Вказує, що попередній символ може бути присутнім або відсутнім у рядку. Жодних повторень кілька разів поспіль — цим і відрізняється від «*».

    Тобто регулярне вираження «20?» буде знаходити значення «2» і «20», так як 0 там або відсутній, або присутній. 200 та 2000 вже не відповідають правилу.
  • «+» (Плюс)
    Вказує на те, що попередній символ може бути присутнім і навіть повторюватися кілька разів поспіль.

    За такою логікою, вираз 20+ знайде значення «20», «200», «2000» і так далі. Але значення «2» вже не пройде.
  • «^» (кришка, каре)
    Використовується для пошуку рядків, які починаються із символів після ^.

    Так регулярному виразу ^15 будуть відповідати рядки 15, 152369, 15Авіа і так далі
  • «$» (долар)
    Антипод метасимволу ^. $ фільтруватиме рядки, які закінчуються на символи перед знаком долара.

    Наприклад, 15 $ знайде рядки: 15, 235958915, вфкомфм15 і т.п.
  • «[]» (квадратні дужки)
    Знаходять значення, які відповідають одному із символів у дужках.

    Наприклад [01234] знайде рядки 0, 1. 2, 3 та 4.
    А word[012] знайде word0, word1, word2.
  • «( )» (круглі дужки)
    Круглі дужки використовують для угруповання символів. Дуже потрібен, коли доводиться складати складну конструкцію регулярного вираження.

    Банальний приклад, згадуємо метасимвол «?». За умовчанням він вказує на входження або відсутність тільки одного попереднього символу, а якщо потрібно перевірити більше символів, то потрібно використовувати круглі дужки.

    Дано рядки: 2, 20, 200

    "20?" знайде: 2, 20, 200, 2000
    "(20)?" знайде: 20, 200, 2000, не знайде 2
  • «{}» (фігурні дужки)
    Вказує, скільки разів у рядку повторюється попередній символ. Причому є кілька форм запису цієї конструкції.
    Наприклад,
    20 {4} - нуль повторюватися 4 рази = 20000
    20 {4,6} - нуль може повторюватися від 4 до 6 разів = 20000, 200000, 2000000
    20 {4,} - нуль може повторюватися від 4 разів = 20000, 200000, 2000000 і так далі.
  • «\» (Зворотний слеш, зворотна скісна риска)
    Використовується для екранування метасимволу. Ставиться перед метасиволом, який потрібно екранувати.

    Якщо вам потрібно, щоб крапка була лише крапкою, а не метасиволом, то перед нею потрібно поставити зворотний слеш.

    Наприклад, потрібно відфільтрувати відвідування сторінок конкретного піддомену: subdomen.site.com
    Якщо залишити все як є, то в результаті ви можете отримати комбінацію на кшталт: subdomenosite1com, так як метасимвол крапка вказує на будь-який символ.
    Для чистого результату крапку необхідно екранувати: subdomen\.site\.com
  • «|» (прямий слеш)
    Вертикальна риска задає відповідність АБО, коли в результаті фільтра вам потрібно знайти будь-яке із зазначених значень - одне АБО інше значення.

    Регулярний вираз «2|35|341» знайде рядки, в яких є 2 або 35 або 341.
  • «–» (дефіс)
    Використовується для завдання діапазону символів у квадратних дужках.

    Наприклад, вам потрібно знайти всі значення від 0 до 9, то замість [0123456789], можна використовувати [0-9].

    Але, якщо потрібно встановити діапазон від 23 до 29, то [23-29] просто не спрацює як слід, адже у регулярних висловлюваннях у цьому записі не два числа, а чотири цифри: 2, 3, 2, 9. Але, у цьому випадку, можна записати комбінацію 2[3-9].

Комбінації метасимволів

  • «.*» (крапка та зірочка)
    Найбільш ходова комбінація, тому що вказує на будь-яку послідовність символів. У місці використання цієї комбінації можуть повторюватися будь-які символи будь-яку кількість разів.

    Наприклад, потрібно вказати всі сторінки у певному розділі сайту.
    Потрібні всі статті блогу у розділі аналітика para.school/blog/analytics/

    Записуємо
    tripmydream\.academy\/blog\/analytics\/.*

    Екрануємо точку та слеши та вказуємо на будь-яку послідовність символів після категорії /analytics/
  • «[^]» (кришка у квадратних дужках)
    Вказує на список символів, які не повинні бути присутніми в тексті.
    Наприклад, конструкція [^0-9] вибирає всі рядки, у яких немає цифр.
    [^a-zA-Zа-яА-Я] - всі рядки, в яких немає букв латиниці та кирилиці.

Конструкції

  • «\d»
    Вказує на будь-який цифровий символ. Означає те саме, що і запис [0-9]
  • «\D»
    Протилежно «\d» і еквівалентно запису [^0-9] - вказує на всі символи крім цифр.
  • «\w»
    Вказує на будь-яку букву, цифру (будь-якого алфавітно-цифрового знака) або знак нижнього підкреслення «_».
  • «\W»
    Протилежно «\w». Вказує на будь-який символ, крім літери, цифри або символу нижнього підкреслення «_».
  • «\s»
    Означає будь-який символ пробілу.
  • «\S»
    Протилежно «s», означає будь-який символ, крім пробілу.

Ми описали лише основні метасимволи, насправді їх набагато більше. Але для роботи з Google Аналітикою цього буде цілком достатньо.

Навіщо потрібні UTM-мітки і що вони з себе представляють
Читайте також
Навіщо потрібні UTM-мітки і що вони з себе представляють
09 серпня 2021
0
14

Приклади використання регулярних виразів у Google Analytics

Для фільтрації сторінок

Це корисно, якщо потрібно виділити не конкретну сторінку або розділ, а групу URL, яка будується за якимось схожим принципом.

Наприклад, у нас на avia.tripmydream.com є сторінки напрямків: https://avia.tripmydream.com/routes

Але таких напрямків у нас 4 типи сторінок, які в URL відрізняються лише кількістю літер в slug. Якщо не використовувати регулярні вирази, ми можемо відстежити статистику тільки всієї категорії відразу або по кожній сторінці окремо. Але ж нам потрібна статистика для кожної групи! :)

  • Перельоти з міста до міста,
    https://avia.tripmydream.com/routes/iev-tbs
    slug: iev-tbs = 3 літери - 3 літери.
    regular expressions: avia\.tripmydream\.com\/routes\/...-...

    Екрануємо необхідні знаки за допомогою метасимволу «\» і замість кінцевих літер підставляємо потрібну кількість символів за допомогою метасимволу «.»
  • Перельоти з міста в країну,
    https://avia.tripmydream.com/routes/iev-me
    slug: iev-me = 3 літери - 2 літери
    regular expressions: avia\.tripmydream\.com\/routes\/...-..$

    Робимо те саме, що й у попередньому варіанті, але вказуємо, що рядок закінчується двома символами і ніяк інакше.
  • Перельоти з країни до міста,
    https://avia.tripmydream.com/routes/pl-hrk
    slug: iev-me = 2 літери - 3 літери
    regular expressions: avia\.tripmydream\.com\/routes\/..-...

    Тут усе зрозуміло має бути.
  • Перельоти з країни до країни. https://avia.tripmydream.com/routes/pl-ua
    slug: pl-ua = 2 літери - 2 літери
    regular expressions: avia\.tripmydream\.com\/routes\/..-..$

    А ось тут треба зазначити, що рядок закінчується двома символами після дефісу, інакше під цей вираз потрапить статистика від сторінок із країни до міста.

При налаштуванні цілей

Наприклад, для сторінки «Дякую за замовлення», URL якої має формат site.com/thankyoupage?order-id=XXXXX, на якій змінюється ідентифікатор заявки, тобто для кожного замовлення надається унікальний order id.

Можна налаштувати так: order-id=.*
Або так: \/thankyoupage\/order-id=\d

Або взагалі просто вказати значення order-id і ціль буде спрацьовувати щоразу, коли таке значення буде в адресному рядку

Для фільтрації трафіку відразу за декількома джерелами

Якщо потрібно відобразити дані щодо джерел трафіку google та facebook, можна використовувати оператор «|» (або).

google|facebook – відображаються дані лише за джерелами та каналами трафіку, в назвах яких є значення google або facebook

Сервіси для перевірки регулярних виразів

Якщо ви працюєте з Google Analytics, то немає нічого кращого, ніж перевірити вираз прямо там. Але також є спеціальні послуги для перевірки регулярних виразів:

https://regex101.com
https://regexr.com
https://www.regextester.com
RegExp Tester для браузера chrome

Шпаргалка регулярних виразів

  • | — або,
  • cp(c|m) — cpc або cpm,
  • ^google— початок рядка з google (перед google нічого не має бути),
  • $ — кінець рядка (після $ нічого не повинно бути),
  • . (крапка) - будь-який символ,
    (…… — будь-яке значення, що містить 6 символів),
    (^……$ — значення строго із 6 символів),
  • \(екран)— ставиться ПЕРЕД символом, який потрібно екранувати,
  • * (зірочка) — нескінченна кількість однакових символів поспіль (go*gle = gogle, google, gooogle, goooogle…),
  • [a-z] — усі літери латинського алфавіту в маленькому регістрі,
    [0-9]|1[0-9]|2[0-9] — від 0 до 29,
  • .* — будь-які значення.

Автор шпаргалки: Володимир Курій, Head of internet-marketing tripmydream.

Що таке CRO і як з ним працювати
Читайте також
Що таке CRO і як з ним працювати
24 березеня 2021
0
17
Сподобалась стаття?
😍
3
😂
😄
😐
🤔
😩
Розповісти друзям: