Как новичку разобраться в регулярных выражениях > 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 адреса только первого уровня вложенности, в сервисе нужно задать такие настройки:

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

Выводы

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

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

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



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

Кейс по продвижению интернет-магазина медицинских товаров: ROMI 32%

Кейс по продвижению интернет-магазина медицинских товаров: ROMI 32% Продвигаем медицинский проект. Кроме цифр рассказываем, что и как делали...

21 09 2023 3:42:34

Как не слить бюджет при запуске контекстной рекламы

Как не слить бюджет при запуске контекстной рекламы Ошибки, которые допускают новички и теряют деньги, трафик, клиентов....

20 09 2023 23:37:13

Скрам-система — внедрить и отказаться. Опыт компании Boosta

Скрам-система — внедрить и отказаться. Опыт компании Boosta Внедрение скрама, чтобы решить проблемы в управлении бизнесом, год работы на нем и отказ от методологии. Читайте об опыте Boosta, которая объединяет 9 SEO-комaнд на удаленке....

19 09 2023 3:11:53

Миграция с Google AdWords API на Google Ads API: подробный мануал

Миграция с Google AdWords API на Google Ads API: подробный мануал Как и зачем мигрировать со старой на новую версию API на языке R. С пакета RAdwords на rgoogleads. Руководство от Алексея Селезнева. Читать дальше!...

18 09 2023 0:19:17

Про social insight, как один из базовых пунктов брифа

Про social insight, как один из базовых пунктов брифа Важный вопрос, если вы рассчитываете на вирусный эффект своих рекламных идей....

17 09 2023 22:13:50

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

Как изменить геовыдачу с помощью настроек Google, Яндекс или специальных дополнений...

16 09 2023 23:23:54

Кейс Leroy Merlin: как ежемecячно получать на 10% больше трафика из поисковиков

Кейс Leroy Merlin: как ежемecячно получать на 10% больше трафика из поисковиков Как Netpeak работал с сайтом филиала крупного бренда и добился результатов, несмотря на то, что сервера проекта находятся в другой стране....

15 09 2023 6:31:34

Посадочные страницы: инструкция по повышению эффективности

Статья Оливера Гарднера посвящена различным аспектам оптимизации посадочных страниц: дизайну, контексту, созданию кнопки действия...

14 09 2023 7:57:18

Как работать с оконными функциями в Google BigQuery — подробное руководство

Как работать с оконными функциями в Google BigQuery — подробное руководство Первое подробное руководство по работе с оконными функциями в Google BigQuery....

13 09 2023 11:12:53

Как правильно «закрывать» свой сайт

Как правильно «закрывать» свой сайт Сотрудник Google расскажет о том, как присоединиться к протесту, не навредив сайту....

12 09 2023 3:25:22

Что такое 500 Internal Server Error

Что такое 500 Internal Server Error Ошибка, которая может привести к полной потере контроля над вашим сайтом. Рассказываем, что это такое, какие могут быть причины поломки и как исправить. Узнать больше!...

11 09 2023 21:48:11

Продвижение мобильного приложения — шпаргалка для строителей воронок продаж

Продвижение мобильного приложения — шпаргалка для строителей воронок продаж С помощью этой шпаргалки вы легко распределите акценты и начнете последовательно внедрять маркетинговую стратегию по продвижению мобильного приложения...

10 09 2023 21:18:35

Netpeak покупает агентство онлайн — эксперимент в блоге

Мы хотим найти и купить локальную комaнду SEO или PPC-специалистов. Как обычно, делаем предложение нестандартно — в блоге...

09 09 2023 23:47:58

Netpeak в гостях у Leo Burnett Ukraine

Netpeak в гостях у Leo Burnett Ukraine В семье Leo Burnett - 7750 человек из 84-х стран мира. В Украине всего - 90 творческих единиц....

08 09 2023 16:35:47

Сколько стоил клик в Google Ads и Facebook в Украине в четвёртом квартале 2018 года

Сколько стоил клик в Google Ads и Facebook в Украине в четвёртом квартале 2018 года Исследование по 38,5 миллионам кликов в 22 тематиках в 391 городе страны....

07 09 2023 23:18:39

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

Как запустить рекламу на Reddit — руководство для новичка 330 миллионов активных пользователей и 14 миллиардов просмотров в месяц. Хорошо бы там запускать рекламные кампании....

06 09 2023 13:31:25

Эксперимент: месяц без доступа в интернет, опыт IT-агентства Netpeak

Эксперимент: месяц без доступа в интернет, опыт IT-агентства Netpeak Мы отключили интернет всем сотрудникам агентства интернет-маркетинга и получили удивительные результаты....

05 09 2023 20:30:40

Зачем учить язык R интернет-маркетологу, и как сделать это максимально быстро

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

04 09 2023 7:20:55

Как продвигать бренд в Facebook без бюджета на рекламу

Что делать, если денег нет, но трафик очень нужен: советы по раскрутке бренда в фейсбуке. В бесплатном продвижении главный ресурс — время: часы, дни, недели, месяцы, проведенные на площадке. Как их применить? Читайте!...

03 09 2023 1:30:48

Как работает баннерная реклама — объясняем на примере кейса

Как работает баннерная реклама — объясняем на примере кейса О феномене Баадера-Майнхофа — как на самом деле работают системы баннерной рекламы в интернете...

02 09 2023 20:37:46

Кейс по SEO-продвижению интернет-магазина в тематике «фото и видео аксессуары»: ROMI 191%

Кейс по SEO-продвижению интернет-магазина в тематике «фото и видео аксессуары»: ROMI 191% Тематический кейс в нише «Фотография и аксессуары»: проделанные работы и полученные результаты...

01 09 2023 20:18:29

Как выбрать платформу для вебинаров

Как выбрать платформу для вебинаров Специалистам часто приходится проводить вебинары и для этого нужна адекватная площадка. В инсайдерском посте мы рассказываем, как выбирали подходящую платформу для проведения вебинаров и что из этого вышло....

31 08 2023 23:40:37

Язык R в интернет-маркетинге — дайджест полезных публикаций

Язык R в интернет-маркетинге — дайджест полезных публикаций Как сэкономить время, ресурсы, и сделать онлайн-маркетинг эффективнее с помощью языка R...

30 08 2023 1:19:55

Как повысить ROMI email-маркетинга на 63%, сократив базу контактов на 40%

Как повысить ROMI email-маркетинга на 63%, сократив базу контактов на 40% История о предсказательной аналитике системы автоматизации маркетинга, онлайн-магазине и ненужных письмах....

29 08 2023 22:36:25

Как работают видеодополнения объявлений в Яндекс.Директ — инструкция и кейс

Как работают видеодополнения объявлений в Яндекс.Директ — инструкция и кейс Direct сделал подарок всем, кто уже давно хотел увеличить привлекательность своих объявлений — добавил возможность включения видеодополнений к текстово-графическим кампаниям. Как включить новую фишку от Директа и достаточно ли она эффективна?...

28 08 2023 4:31:15

Как правильно составить NDA

Как правильно составить NDA Для защиты конфиденциальной информации в организации вводят режим коммерческой тайны. Подписание NDA важно не только с сотрудниками, но и со сторонними компаниями, имеющими доступ к конфиденциальной информации...

27 08 2023 6:40:47

Дополнительные ссылки в Google Рекламе

Быстрый инструмент для повышения CTR — дополнительные ссылки Google Рекламы...

26 08 2023 9:29:51

+247% кликов из органического поиска за год — SEO для Bosch Siemens Hausgerate

Со старта сотрудничества, рост видимости сайтов клиента вырос в 15 раз....

25 08 2023 21:18:36

Как настроить автоматические правила в Facebook? Подробное руководство

Как настроить автоматические правила в Facebook? Подробное руководство Правила Facebook позволяют пользоваться автоматизированным контролем над эффективностью рекламы. Читайте, как уменьшить количество ручной работы с помощью автоматических правил...

24 08 2023 0:30:38

Поведенческая аналитика — что мешает клиенту сделать заказ

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

23 08 2023 22:42:18

Как установить пиксель Facebook и Instagram — отслеживаем целевые действия

Как установить пиксель Facebook и Instagram — отслеживаем целевые действия Пиксель Facebook — инструмент аналитики рекламной системы, который можно использовать и для Instagram....

22 08 2023 19:17:28

Генерируем прорывные идеи по Люку Уильямсу

Генерируем прорывные идеи по Люку Уильямсу Важно иметь прорывное мышление — о таком подходе к бизнесу написана книга Люка Уильмса «Переворот»....

21 08 2023 13:23:53

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

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

20 08 2023 3:55:42

Как настроить божественные списки ремаркетинга с помощью GTM

Как настроить божественные списки ремаркетинга с помощью GTM Несколько фишек Google Tag Manager, чтобы сделать продвинутые списки ремаркетинга....

19 08 2023 5:47:10

Сайт попал под фильтр. Так ли страшен черт, как его малюют?

Сайт попал под фильтр. Так ли страшен черт, как его малюют? Советы специалистов Netpeak: виды фильтров Google, что с этим делать и как снять ручные санкции Google....

18 08 2023 2:42:17

Как настроить запуск R-скрипта по расписанию?

Как настроить запуск R-скрипта по расписанию? Работаете со скриптами R регулярно? Потратьте десять минут на настройку автозапуска и избавьтесь от необходимости активировать R-скрипты вручную...

17 08 2023 16:21:26

Что такое RSS-лента и как ее подключить

Что такое RSS-лента и как ее подключить Когда на сайт добавляют новый контент, он тут же трaнcлируется в RSS-ленту и отображается в специальных программах для чтения, либо в email подписчиков. Как это работает?...

16 08 2023 10:20:48

Как защитить аккаунт в Instagram от взлома

Безопасность Instagram — что делать, если заметили попытку взломщиков украсть аккаунт, и как вернуть аккаунт после взлома....

15 08 2023 4:32:25

SEO-продвижение для службы доставки еды в Украине — рост бесплатного трафика на 477%

SEO-продвижение для службы доставки еды в Украине — рост бесплатного трафика на 477% Кейс продвижения Pizza House — ROMI 709,9%. От старта с дублями страниц и постановки целей и задач продвижения, проведения технического аудита, аналитики, анализа поисковых фраз, выбора контента до экспериментов с метатегами, увеличения среднего чека и планов на будущее...

14 08 2023 8:54:26

Продвижение мобильного приложения: как вовлечь пользователей с помощью рекламы в Facebook?

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

13 08 2023 2:42:24

Как импортировать данные из Google ***ytics в Excel с помощью Excellent ***ytics — мануал для чайников

Как импортировать данные из Google ***ytics в Excel с помощью Excellent ***ytics — мануал для чайников Ексель для чайникiв. Как импортировать всю необходимую информацию из Google ***ytics с помощью простого интерфейса Excellent ***ytics....

12 08 2023 15:28:10

Как отслеживать внутренний поиск по сайту

Как отслеживать внутренний поиск по сайту Настройка аналитики для пустого поиска, а также поиска по методам GET и POST...

11 08 2023 11:35:40

Как делать цепляющую email-рассылку: советы экспертов

Как делать цепляющую email-рассылку: советы экспертов Рассказываем про маркетинговые техники продающих email рассылок...

10 08 2023 20:39:41

Загадки для тренировки мозга: заяц с одним ухом, пароход из Гавра и лабиринт с правым поворотом

Загадки для тренировки мозга: заяц с одним ухом, пароход из Гавра и лабиринт с правым поворотом Проверьте свою логику, находчивость и креативность...

09 08 2023 7:56:42

Кейс по таргетированной рекламе в тематике «нижнее белье» или как увеличить продажи перед праздниками: ROMI 29%

Кейс по таргетированной рекламе в тематике «нижнее белье» или как увеличить продажи перед праздниками: ROMI 29% Для продвижения интернет-магазина женского нижнего белья мы решили попробовать новый источник привлечения клиентов....

08 08 2023 16:27:28

Как стать SEO-специалистом

Как стать SEO-специалистом Как стать востребованным сео оптимизатором: 35+ ссылок для обучения и совершенствования своих знаний, а также советы...

07 08 2023 1:56:54

Оптимизация ремаркетинга в Facebook — подробное руководство

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

06 08 2023 9:55:34

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

Сколько стоил клик в Google Ads и Яндекс.Директ в Казахстане во втором квартале 2019 года Алексей Селезнев, руководитель отдела аналитики Netpeak делится статистикой по самым дорогим и самым дешевым тематикам, регионам размещения рекламы, каналам и устройствам. Узнать больше!...

05 08 2023 16:27:10

Google BigQuery — зачем нужна облачная база данных

Google BigQuery — зачем нужна облачная база данных Как бесплатно пользоваться преимуществами, особенностями и дополнительными инструментами сервиса...

04 08 2023 1:14:40

Визуализация данных с помощью DataDeck

Визуализация данных с помощью DataDeck Краш-тест сервиса визуализации данных: выбираем задачу, источники, создаём отчет с помощью DataDeck. Бонус в конце — лаконичные списки преимуществ и недостатков этого инструмента и приятный подарок для дочитавших...

03 08 2023 8:40:32

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