Головна » Блог » Digital-стратегії » Що таке регулярні вирази та як з ними працювати?

Що таке регулярні вирази та як з ними працювати?

13.12.2023
2909
7хв

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

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



 

Тож, що таке ці регулярні вирази?

Регулярні вирази, або regular expressions (часто зустрічається абревіатура RegEx) — це елемент мови, що призначений для пошукових операцій та обробки підрядків у текстах. Регулярний вираз виглядає як рядок-зразок, що містить символи та метасимволи, та призначається для налаштування пошуку.

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

 

Як використовувати регулярні вирази?

Регулярні вирази допомагають вирішувати безліч задач з різних сфер. Розберемо кожен напрямок окремо.

Регулярні вирази для аналітики

Отже, з їхньою допомогою ви можете виконувати такі задачі:

  1. Розширювати фільтр.
  2. Налаштовувати необхідні цілі.
  3. Створювати сегменти.
  4. Створювати більш структуровані звіти.

Якщо ви працюєте з Google Analytics, регулярні вирази також стануть в нагоді при застосування API Analytics і налаштуванні тригерів у Google Tag Manager.

Регулярні вирази для SEO

SEO-спеціаліст може використовувати RegEx для:

  1. Спрощення роботи з Google Analytics і Google Search Console.
  2. Сегментації ранжування.
  3. Проведення аудиту сайту.
  4. Аналізу логів.

Регулярні вирази для роботи з текстовими редакторами

При використанні текстового редактора застосовуйте регулярні вирази, щоб:

  1. Оптимізувати пошукові процеси.
  2. Виділяти шматочки тексту.
  3. Заміняти рядки чи слова.
  4. Видаляти чи додавати необхідне.

Регулярні вирази для створення чат-ботів

Застосовуйте RegEx, щоб:

  1. Перевіряти фрази на кількість слів, наявність «ключів», пробілів тощо.
  2. Вводити числа у певному проміжку.
  3. Перевіряти посилання на відповідність.

Ці та інші задачі можна використовувати і в програмуванні, роботі з API тощо. Простими словами, регулярні вирази підходять для зручних пошукових робіт у всіх сервісах і програмах, які їх підтримують.



 

Основи синтаксису

Символи можна поділити на дві групи:

  1. Літерали — це букви та цифри, які ви шукаєте.
  2. Спеціальні або метасимволи, що здатні вказувати дію чи змінювати вираз.

Регулярний вираз може складатися як виключно з літералів, наприклад, «Маркетинг», так і лише з спеціальних символів, як от «D.*». Також він може поєднувати в собі одразу дві групи — «Маркетинг, .*$».

Кожен з них відрізняється за функціями. Для їх визначення поділимо їх за категоріями:

Символьні класи

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

До цих класів входять:

  • «\d» ― вказує лише на цифру, тобто еквівалент [0-9];
  • «\w» ― відповідає будь-якій цифрі, букві чи знаку нижнього підкреслення «_»;
  • «\s» ― означає пробіл;
  • . ― означає будь-який символ.

До деяких символьних класів існують заперечення, а саме:

  1. «\D» ― протилежний до \d, вказує на будь-який символ, крім цифр;
  2. «\W» — протилежний до \w, вказує на будь-який символ, окрім цифр, букв і знаку нижнього підкреслення;
  3. «\S» — протилежний до \s, означає будь-який символ, крім пробілу.

«\» — зворотній слеш, призначений для екранування метасимволов, перед яким прописується. Наприклад, якщо ви хочете використати крапку за призначенням, а не як метасимвол, перед нею треба написати зворотній слеш.

Якоря

Вони допомагають відшукати рядки, які починаються або закінчуються конкретним символом. Відповідно:

  • ^ (кришка, каре) ― необхідна для пошуку рядків, які починаються із символів після неї;
  • $ (долар) ― антипод кришки, адже знаходить рядки, які закінчуються на символи перед ним.

Квантифікатори

Вказують на кількість повторень одного і того самого символу у виразі, коли, наприклад, необхідно знайти номера телефонів чи банківських рахунків. Таким чином:

  • * (зірочка) ― демонструє, що символ, який стоїть перед нею, може як бути присутнім, так і відсутнім, а також повторюватися;
  • ? (знак питання) ― відрізняється від * лише тим, що не вказує на можливість повторення.

Якщо вам необхідно вказати кількість чи інтервал повторень, напишіть це значення у фігурних дужках відразу ж після символу, який має повторюватися. Існує три варіанти:

  • {n} ― конкретна кількість повторень;
  • {min,} ― мінімальна кількість повторень;
  • {min,max} — інтервал кількостей повторень.

Оператор АБО

| ― прямий слеш, допомагає в пошуку одразу за декількома фільтрами ― за одним АБО іншим значенням.

Дужки

() (круглі дужки) ― у регулярному виразі призначені для групування символів. Допомагають складати складні пошукові конструкції.

Для прикладу використаємо метасимвол ?. Якщо ввести комбінацію «10?», пошук видасть нам числа 1, 10, 100 і так далі. Але при додаванні дужок вийде конструкція (10)?, ― ми знайдемо 10, 100, але пропустимо 1.

[] (квадратні дужки) у регулярному виразі шукають значення, що відповідає одному з символів в цих дужках.

Наприклад, при комбінації [56789] знаходяться 6, 6, 7, 8 і 9.

{} (фігурні дужки) вказують системі, скільки разів має повторитися попередній символ. Існує декілька варіантів його запису:

  1. Комбінація 10 {5} ― нуль буде повторюватися 5 разів, і ми отримаємо 100000.
  2. Комбінація 10 {5, 7} ― нуль буде повторюватися від 5 до 7 разів, пошук видасть 100000, 1000000, 10000000.
  3. Комбінація 10 {5,} ― нуль буде повторюватися від 5 разів і більше, тобто отримаємо 100000, 1000000, 10000000, 100000000 і так далі.

Флаги для регулярного выражения

 

Окрім простих і спеціальних символів, існують ще і прапори для регулярного виразу

Вони додаються до шаблону регулярного виразу та розширюють його можливості. Прапори прописуються в кінці регулярного виразу.

Існує три основних прапори:

  1. g (global) ― не зупиняє пошук після знаходження першого збігу, а продовжує пошук. Наприклад, Вираз /a/g буде шукати всі входження «a» у тексті.
  2. m (multi-line) ― з ним оператори та $ забезпечують збіг на початку та в кінці кожного рядка введення, а не всього рядка в цілому. Наприклад, вираз / A/m знайде «A» на початку кожного рядка введення.
  3. i (insensitive) ― робить вираз незалежним від регістру. Наприклад, Вираз /aBc/i знайде будь-яке входження «aBc», незалежно від регістру: «AbC», «aBc», «ABC».


 

Як це працює на практиці?

З теорією розібралися, тепер спробуємо визначити, які реальні задачі дозволяють вирішити регулярні вирази.

Приклад No1.

На сайті існують дві сторінки з контактами:

https://example.com/contact-us/

https://example.com/contact-success/

Ми хочемо врахувати їх відвідування користувачами як виконання однієї конкретної мети в сервісі Google Analytics. Для цього ми обираємо мету відвідування сторінки та вказуємо вираз contact-us|contact-success.

Приклад No2.

Ми оновили дизайн карток товарів і зацікавлені в їхньому впливі на трафік. Це стосується кількох сторінок, посилання яких відрізняються лише за цифрами в кінці:

https://example.com/products/123

https://example.com/products/456

https://example.com/products/789

Щоб виконати цю дію в Google Analytics, скористаймося такими виразами:

  1. Для конкретної сторінки: [0-9]$;
  2. Для виділення всіх URL-адрес товарів в таблиці: .*[0-9]$.

Приклад No3.

Ми маємо список відносних URL-адрес, таких як:

/shop/product/

/about-us/

Мета полягає в перетворенні цих посилань в абсолютні за допомогою додавання домену «web-promo.ua». Для виконання задачі використовуємо регулярний вираз /, який виділить перший слеш в рядку та дозволить провести глобальну зміну.

 

Висновки

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

Хочете працювати з нами й отримувати максимальний результат від інтернет-реклами та просування?

Останні матеріали рубрики

Що таке UGC-контент та як його використовувати для розвитку...

UGC є не лише джерелом автентичного контенту, а й ефективним інструментом оптимізації маркетингових витрат. Його використання сприяє...

ШІ для написання текстів: 16 інструментів для копірайтерів...

У статті розглянемо популярні ШІ для написання текстів з урахуванням конкретних бізнес-потреб. Це допоможе не лише зекономити час на...

Як створити та налаштувати рекламний кабінет Meta: все про...

Результативність кампаній Meta Ads залежить не лише від якості креативів чи налаштувань таргетингу, а й від коректного налаштування...

Топ книг про маркетинг: що читати маркетологам, щоб...

Начитаність та навчене око — необхідні скіли маркетолога. Книги з маркетингу розширюють кругозір, допомагають знаходити цікаві...

Підпишіться на нашу розсилку
Будьте в курсі останніх новин та спецпропозицій
Підписка на розсилку в Telegram
Залишились питання?
Наші експерти готові відповісти на них

 

Зв’яжіться за вказаним нижче телефоном з нашим менеджером або скористайтеся послугою «Зателефонуйте мені». Ми зв’яжемося з вами найближчим часом.

Спокійний за просування своїх проєктів в інтернеті
Кожен в команді— майстер своєї справи
Ціную Webpromo за гнучкість
Виконують всі задачі, досягаючи кращих КРІ
Рекомендую Webpromo як надійних партнерів
Кратно зросли показники приросту органічного трафіку
Серед багатьох ми обрали Webpromo

Ми використовуємо cookie-файли для надання найбільш актуальної інформації.

Продовжуючи використовувати сайт, Ви погоджуєтесь з використанням файлів cookie.

Політика конфіденційності