Как новичку разобраться в регулярных выражениях > NetPeak - Независимость и осознанность
NetPeak Biz Tech    


Как новичку разобраться в регулярных выражениях

Как новичку разобраться в регулярных выражениях

< >

Раньше из регулярных выражений я использовал только (.*) :) Несколько друзей настоятельно советовали мне разобраться в этом вопросе. Но не понимая, где их можно применять, я откладывал это до лучших времен.

Все изменилось, когда мне пришлось более плотно работать с Google ***ytics и Google Tag Manager в Netpeak. Без понимания регулярных выражений сложно представить себе нормальную настройку фильтров, пользовательских сегментов в GA или правил в GTM.

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

Что такое регулярные выражения

Регулярные выражения (regular expressions, RegExp) — наборы символов, применяемых для поиска текстовых строк, соответствующих требуемым условиям. Результат применения регулярного выражения — подмножество данных, отобранное согласно логике, заложенной в выражении. Регулярные выражения применяются в любых задачах по поиску в множестве данных, для которых нужно получать выжимку по определенным правилам.

Синтаксис регулярных выражений

Большинство символов в регулярных выражениях представляют сами себя, за исключением группы специальных символов «[ ] \ / ^ $ . | ? * + ( ) { }». Если эти символы нужно представить в качестве символов текста, их следует экранировать обратной косой чертой «\».

Если эти спецсимволы встречаются без обратной косой черты, значит у них особенные значения в регулярных выражениях:

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

Также существуют специальные метасимволы, ими можно заменить некоторые готовые конструкции:

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

Истории бизнеса и полезные фишки

Пять способов протестировать свои знания о регулярных выражениях

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

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

Почти всем новичкам я сразу рекомендую ставить текстовый редактор NotePad++ и начинать тренироваться в нём. Почему именно в этом текстовом редакторе:

  • в большинстве случаев спецсимволы не нужно экранировать;
  • Notepad++ сохраняет конструкции предыдущих запросов;
  • функция «Пометки» наглядно показывает результат поиска по заданной конструкции и позволяет быстро внести правки:

2. Проверяем знания регулярных выражений в Regex

Онлайн-сервис regex101.com позволяет ввести набор данных и регулярное выражение. После этого в наборе данных подсветятся строки, соответствующие выражению. В специальном окне Explanation регулярное выражение разбирается по частям:

Давайте потренируемся: задача — подсветить всю строку полностью. Нужно поставить галочку напротив «multi line».

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

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

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

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

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

Jsfiddle — инструмент для экспериментов с JavaScript. В нем можно проверить условия для запуска функции или демонстрации нужных результатов.

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

4. Проверяем ошибки в регулярных выражениях с помощью Google ***ytics

Самый быстрый способ проверить знания о регулярных выражениях в Google ***ytics — фильтры в стандартных отчетах. Зайдите в свой аккаунт и в любом отчете, где доступны фильтры, попробуйте отобрать какой-либо набор данных.

5. Нестандартные методы освоения регулярных выражений

Для тех, кто любит интеpaктив:

Жадные и ленивые кванторы

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

Жадный квантор (*) захватывает все — от первых кавычек до последних:

Ленивая версия квантора (*?) ищет наименьшее совпадение, поэтому найдет каждую подстроку по отдельности:

Где использовать регулярные выражения

SEO-специалисты прибегают к регулярным выражениям при работе с Google ***ytics, Яндекс.Метрикой, RewriteRule в .htaccess, в текстовых редакторах, при работе с краулерами (Netpeak Spider).

Расскажу о нескольких регулярных выражениях, которые часто мне помогают.

1. Выделить всё, кроме домена:

.*://|/.*

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

2. Выделить URL заданной вложенности:

.*://site.com/.*?/.*?/.*?/

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

Использую это выражение, когда нужно задать максимально разрешенную вложенность URL при сканировании сайта в Netpeak Spider.

Чтобы просканировать все URL адреса только первого уровня вложенности, в сервисе нужно задать такие настройки:

Что еще почитать о регулярных выражениях

Выводы

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

Его достаточно сложно освоить, ещё сложнее научиться правильно применять. Взамен этот инструмент существенно облегчит вашу работу и сделает её гораздо эффективнее.

Набросаем любимых регулярных выражений в комментариях?



Комментарии:

Как поменялись рекламные кампании во время карантина — что делать бизнесу

Как поменялись рекламные кампании во время карантина — что делать бизнесу Инсайты от специалистов агентства Netpeak о популярных тематиках, тенденциях, особенностях продвижения в карантин и кризис, новых правилах для контекстной рекламы и других способов продвижения. Чтобы узнать больше, читайте далее!...

28 09 2022 2:53:34

Анна Романишина о школе английского, тайм-менеджменте и продвижении

Анна Романишина о школе английского, тайм-менеджменте и продвижении Интервью с основателем школы английского языка Progress...

27 09 2022 21:32:14

Как отслеживать клики по телефонным номерам

Как отслеживать клики по телефонным номерам Быстрый и бесплатный способ настройки целей через Google Tag Manager....

26 09 2022 16:34:29

Как B2B-стартап с помощью партнерской программы увеличил доход на 1983% за 6 месяцев

Как B2B-стартап с помощью партнерской программы увеличил доход на 1983% за 6 месяцев Создание успешного стартапа в нише телемедицины. Без дополнительных трат увеличил за 6 месяцев доход на 1983%, а клиентскую базу — более чем на 1000%....

25 09 2022 6:39:35

Как грамотно построить структуру рекламного аккаунта Facebook

Как грамотно построить структуру рекламного аккаунта Facebook Как купить дешевый трафик из Facebook? Образец работы со структурой рекламного аккаунта...

24 09 2022 19:12:14

15 фишек контекстной рекламы — итоги круглого стола 8P 2019

Работающие способы повысить эффективность рекламных кампаний...

23 09 2022 19:30:30

Как провести A/B-тест сайта: инструменты и популярные гипотезы

Как провести A/B-тест сайта: инструменты и популярные гипотезы 22 оригинальные гипотезы для A/B-теста сайта, которые чаще всего влияют на получаемую прибыль...

22 09 2022 11:25:23

Как ангел-хранитель Sammy помогает продвигать носки

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

21 09 2022 21:17:27

Частотность‌ ‌запросов‌ ‌и‌ ‌техника‌ ‌ее‌ ‌определения‌

Частотность‌ ‌запросов‌ ‌и‌ ‌техника‌ ‌ее‌ ‌определения‌ Определение частотности запросов — задача первоочередной важности для составления адекватного семантического ядра, наполнения качественным контентом и контекстной рекламой...

20 09 2022 10:16:10

Эксцентричный и скромный Дарвин Смит

Эксцентричный и скромный Дарвин Смит Короткая история про одного из руководителей корпорации «Kimberly Clark». Альтернативная Википедия для тех, кто любит сторителлинг. Читать дальше!...

19 09 2022 3:31:43

Как я работаю дома с двумя детьми — хроники безумного папы

Как я работаю дома с двумя детьми — хроники безумного папы Опыт сотрудника отдела маркетинга Netpeak. Дочке Маше — 10 лет, сыну Егору — почти 4 года. Мы по-прежнему не очень продуктивны в таких условиях, но все же накопили больше опыта, чем те люди, которые сейчас внезапно столкнулись с удаленной работой...

18 09 2022 2:20:56

Функции вычисляемых полей Google Data Studio

Всё, что вы хотели знать о функциях вычисляемых полей, но боялись спросить....

17 09 2022 16:34:12

Кликбейт-заголовки — всё: почему лента Facebook станет лучше

Кликбейт-заголовки — всё: почему лента Facebook станет лучше Кликбейтинг в опасности. Если хочешь узнать методы работы антикликбейт-комaнды Facebook, просто нажми на этот заголовок...

16 09 2022 16:26:20

Sad But True — телеграм-канал Андрея Чумаченко. Коротко и правдиво про бизнес, самоорганизацию и управление людьми

Sad But True — телеграм-канал Андрея Чумаченко. Коротко и правдиво про бизнес, самоорганизацию и управление людьми Рассказываем про телеграм-канал со-основателя Netpeak и чем он интересен для предпринимателей, руководителей и маркетологов....

15 09 2022 22:55:59

Как связать CRM с системой Сall Tracking — кейсы для руководителя, менеджера и маркетолога

Как связать CRM с системой Сall Tracking — кейсы для руководителя, менеджера и маркетолога Лучшая работа по перехвату инициативы у конкурентов в аналитике продаж...

14 09 2022 3:37:46

Как привлечь инвестиции cерии A — руководство для владельцев бизнеса

Как привлечь инвестиции cерии A — руководство для владельцев бизнеса Как заинтересовать инвесторов, сколько времени это займет, а также стратегии поиска....

13 09 2022 6:14:13

Сколько стоил клик Яндекс.Директ и Google Ads в Казахстане в четвертом квартале 2017 года

Сколько стоил клик Яндекс.Директ и Google Ads в Казахстане в четвертом квартале 2017 года Почти 3 миллиона клика в 24 тематиках в 15 городах Казахстана. Читайте новое исследование нашего аналитика....

12 09 2022 3:24:45

Продвижение на prom.ua — настраиваем аналитику, ремаркетинг, Google Merchant Center

Лафхаки для маркетологов и владельцев сайтов на Prom...

11 09 2022 2:40:28

Динамический ремаркетинг в Google Рекламе без Google Merchant Center — скрипт для автоматического обновления фида

Динамический ремаркетинг в Google Рекламе без Google Merchant Center — скрипт для автоматического обновления фида Как настроить автоматическое обновление данных о товарах с помощью таблиц Google....

10 09 2022 17:12:21

Как работать с задачами — советы от Netpeak

Как работать с задачами — советы от Netpeak Правильная постановка целей, задач и дедлайна — основа успешной работы...

09 09 2022 8:26:47

Сколько заpaбатывают интернет-маркетологи? Рейтинг зарплат за второе полугодие 2018

Сколько заpaбатывают интернет-маркетологи? Рейтинг зарплат за второе полугодие 2018 Комaнда Serpstat провела исследование среди интернет-маркетологов и создала виджет, который рассчитывает среднюю зарплату на основе опыта, навыков и знаний специалистов. Что из этого получилось, читаем в статье....

08 09 2022 14:53:35

Инсайты Google Business Profile: от настройки до оптимизации

Инсайты Google Business Profile: от настройки до оптимизации Как зарегистрироваться и пользоваться аккаунтом в Google Business Profile: руководство для интернет-маркетологов и владельцев бизнеса...

07 09 2022 4:19:31

Статистика и аналитика аккаунта в Twitter — полезные инструменты

Статистика и аналитика аккаунта в Twitter — полезные инструменты Твиты, реплаи, ретвиты - как сделать правильные выводы из активности в Twitter? Об этом читайте в нашем посте....

06 09 2022 22:22:58

Сколько стоил клик в Google Ads во втором квартале 2016 — исследование Netpeak

Сколько стоил клик в Google Ads во втором квартале 2016 — исследование Netpeak Алексей Селезнев проанализировал более 7 миллионов кликов и посчитал, во сколько обходятся рекламодателям клики по объявлениям в разных странах и тематиках....

05 09 2022 10:25:13

Почему пользователи удаляют ваше приложение — обзор инструментов для анализа Uninstall Rate

Почему пользователи удаляют ваше приложение — обзор инструментов для анализа Uninstall Rate Иногда удержать пользователя сложнее, чем мотивировать загрузить приложение. Семь инструментов для анализа Uninstall Rate....

04 09 2022 16:40:14

DMCA-алгоритм Google: закон об авторском праве в цифровую эпоху

DMCA-алгоритм Google: закон об авторском праве в цифровую эпоху Что значит всемирное обновление DMCA-алгоритма и приведет ли оно к полноценной защите авторских прав?...

03 09 2022 3:41:28

Видеореклама в Google Ads: как оставить только релевантные площадки

Видеореклама в Google Ads: как оставить только релевантные площадки Четыре способа исключить нерелевантные места размещения видеорекламы, а также полезные списки минус-слов и детских YouTube-каналов....

02 09 2022 6:20:15

Зачем нужны целевые страницы и что такое лидогенерация

Всё, что важно узнать о лидогенерации и работе с целевой аудиторией....

01 09 2022 15:22:17

7 частых и неочевидных ошибок интернет-магазинов

7 частых и неочевидных ошибок интернет-магазинов Расскажем про ошибки интернет-магазинов, которые трудно найти соответствующими программами и сервисами проверки...

31 08 2022 2:22:37

Покажи свою работу: рассказ SMM-специалиста

Покажи свою работу: рассказ SMM-специалиста Кто ведет соцсети Netpeak и заказывает мерч для всего агентства...

30 08 2022 17:35:12

Анализ эффективности кампаний рекламной сети Яндекса с помощью отчета по многокaнaльным последовательностям

Отчет «Многокaнaльные последовательности» в Google ***ytics помогает оценить влияние каждого канала, сделать выводы о работе рекламных кампаний — понять их вклад и участие в цепочке до совершения конверсии. Показываем на примере....

29 08 2022 5:54:24

Как сэкономить время специалиста при работе с крупным проектом — на примере OLX

Как сэкономить время специалиста при работе с крупным проектом — на примере OLX Убираем человеческий фактор при сборе отчетов по контекстной рекламе...

28 08 2022 2:12:20

10 готовых дашбордов для маркетолога в Data Studio

10 готовых дашбордов для маркетолога в Data Studio Подбор правильного инструмента для визуализации данных может сэкономить время и ресурсы компании, а также повысить общую продуктивность маркетинга...

27 08 2022 3:21:16

15 идей для таргетинга мобильного приложения в Facebook и Instagram

15 идей для таргетинга мобильного приложения в Facebook и Instagram Готовые к использованию таргетинговые идеи для мобильных приложений онлайн в Facebook....

26 08 2022 19:36:31

Продвижение музыки в интернете

Продвижение музыки в интернете Раскрутка музыки онлайн: способы, методы, нюансы и примеры...

25 08 2022 6:28:45

Как составить поисковые объявления для Google Ads и Яндекс.Директ

Как составить поисковые объявления для Google Ads и Яндекс.Директ Правила, требования, особенности. А ещё примеры, которые помогут создать правильную, с точки зрения поисковиков, рекламу. Читать!...

24 08 2022 14:33:10

Баннерная реклама vs. Таргетированная реклама в социальных сетях

Не существует универсальных решений - есть эффективные инструменты и удачные их сочетания....

23 08 2022 20:26:20

Сколько времени украинские айтишники тратят на дорогу в офис. Микроисследование

Киев, Одесса, Харьков, Днепр и другие города — в офис и обратно IT-специалисты добираются от 10 минут до более чем полутора часа. В дороге они слушают музыку, подкасты, читают книги. Узнать больше!...

22 08 2022 23:39:52

5 фишек Google ***ytics для SEO-специалистов

5 фишек Google ***ytics для SEO-специалистов Как прокачать свои знания и навыки использования GA, чтобы оптимизировать сайт и получать больше (намного больше, чем сейчас) трафика, конверсий, вовлечения. Больше!...

21 08 2022 15:15:58

Динамический ремаркетинг в myTarget: подробный мануал и кейс

Динамический ремаркетинг в myTarget: подробный мануал и кейс Как настроить динамический ремаркетинг в myTarget и эффективно ли работают такие объявления — делимся собственным опытом....

20 08 2022 23:44:59

Что работает в 2019 году: кейсы и рекомендации спикеров 8P

Что работает в 2019 году: кейсы и рекомендации спикеров 8P Читать только интернет-маркетологам, SMM, PPC и SEO-специалистам....

19 08 2022 0:36:49

Сколько стоил клик в Google Ads в Украине в четвертом квартале 2020 года — исследование Netpeak

Данные, приведенные в исследовании, могут помочь в составлении медиапланов по продвижению в интернете. Читать дальше....

18 08 2022 16:13:37

Особенности доменов второго уровня

Ликбез по важным понятиям, без которых нельзя начинать бизнес в интернете. Что такое домены второго и третьего уровня, чем они отличаются. Узнать больше!...

17 08 2022 10:19:58

Где лучше догонять пользователей: в Facebook или Google Рекламе — кейс интернет-магазина

Где лучше догонять пользователей: в Facebook или Google Рекламе — кейс интернет-магазина При использовании похожих инструментов важно не переборщить с количеством рекламы...

16 08 2022 13:44:44

10 видов инноваций

10 видов инноваций Примеры инновационных проектов. Нескучная рецензия на интересную книгу....

15 08 2022 17:57:23

Тайм-менеджмент. Обзор мастер-класса Глеба Архангельского

Зачем нужен мемуарник, как отличить истинные цели от навязанных и многое другое....

14 08 2022 13:49:46

12 функций таблиц Google для работы с семантикой

12 функций таблиц Google для работы с семантикой + таблица с примерами использования каждой функции....

13 08 2022 21:17:33

Бархатная оптимизация исходящих ссылок

Бархатная оптимизация исходящих ссылок Качественные исходящие ссылки и исходящий мусор, который только вредит репутации сайта. Находим и отсеиваем....

12 08 2022 12:29:50

Лидеры рынка фармы — топ сайтов, которые видят украинцы, когда ищут лекарства в интернете

Статистика изменений долей рынка после майского и декабрьского апдейта Google в 2020 году....

11 08 2022 1:45:41

Как наполнять контент-план — мнения редакторов

Как наполнять контент-план — мнения редакторов Почему контент-план — не тетка, или о том, в какой последовательности выкладывать статьи...

10 08 2022 21:38:45

Еще:
понять и запомнить -1 :: понять и запомнить -2 :: понять и запомнить -3 :: понять и запомнить -4 :: понять и запомнить -5 :: понять и запомнить -6 :: понять и запомнить -7 ::