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

Опубликовано: 2022-04-17
Содержание
Содержание

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

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

  • Аналитика: вы можете использовать Regex для сегментации трафика.
  • Htaccess: вы можете переписать URL-адреса более эффективным способом.
  • SISTRIX: вы можете фильтровать наши отчеты, содержащие URL-адреса, фрагменты или ключевые слова.

Регулярные выражения — или Regex — могут использоваться во многих языках программирования, но это руководство будет основано на Perl, поскольку в нем используется стандарт, на котором основаны уже доступные функции SISTRIX Regex .

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

Мы собираемся сделать это, используя символы, группировки, квантификаторы и классы, поскольку это синтаксис, с помощью которого мы сможем строить выражения.

Синтаксис для создания регулярного выражения
Персонажи Поведение Пример
? Ищет предшествующий символ 1 или 0 раз. https?
* Ищет предшествующий символ 0 или более раз. 30*
+ Ищет предшествующий символ 1 или более раз. [0-9]+
| Ищет тот или иной элемент. (или) (jpg|jpeg)
^ Указывает на начало шаблона ^https
$ Указывает на конец шаблона HTML$
· Ищет любой символ (шаблон) 4..
\ Не интерпретирует специальный символ (пропускает символы) \/
Параметры группировки регулярных выражений
Группировка Поведение Пример
() Захватывает определенный контент (сестрица)
Соответствует систрикс
[] Захватывает символы в скобках [0-9]
Соответствует любому цифровому символу
[аз]
Соответствует любой строчной букве
{} Указывает количество итераций, минимальное или максимальное .{1,3} Соответствует любому символу, повторяющемуся от 1 до 3 раз.

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

Квантификаторы в регулярных выражениях
квантификаторы Поведение
\w Ищет слово, цифру или символ типа _
\ д Ищет цифровой символ
Ищет пробельный символ
Соответствует началу или концу слова
\ Вт Ищет символ, который не является словом, цифрой или _
Ищет символ, который не является цифрой
Ищет символ, который не является пробелом.

Примеры SEO с регулярными выражениями

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

Фильтрация ключевых слов с помощью регулярных выражений

Чтобы получить доступ к этой функции, вам нужно всего лишь проанализировать домен 1 и перейти к ключевым словам 2 , а затем перейти к выбору фильтра 3 .

1
2
3

А затем используйте фильтр ключевых слов с Regex 4 .

4

Теперь мы хотели бы предложить несколько вариантов использования, в которых вы можете применить эти выражения, чтобы максимально использовать анализ ключевых слов в ваших проектах или при анализе ваших конкурентов.

Включить или исключить название бренда

Представьте, что у вас есть торговая марка, которая принимает разные варианты написания или известна под несколькими разными торговыми марками. Мы можем создать регулярное выражение для группировки всех ключевых слов, которые мы считаем брендированными. Например, на сайте currys.co.uk есть различные брендированные ключевые слова, а именно:

карри, карри, компьютерный мир

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

 (curry|currys|pc world).*
Таблица ключевых слов в наборе инструментов SISTRIX для currys.co.uk с примененным фильтром регулярных выражений ".*(curry|currys|pc world).*".

Ниже вы можете увидеть результаты, которые мы получим:

Также можно настроить фильтр так, чтобы он исключал фирменные ключевые слова, используя следующее выражение, и он будет отображать только общие ключевые слова:

 ^(?!.*(curry|currys|pc world).*?)
Таблица ключевых слов в наборе инструментов SISTRIX для currys.co.uk с примененным фильтром регулярных выражений «.^(?!.*(curry|currys|pc world).*?)».

Включить или исключить ошибки в названиях брендов

Есть шанс, что мы можем столкнуться с брендами, которые часто написаны с ошибками или написаны с ошибками, такими как Ryanair.

Вот несколько примеров запросов, которые пользователи вводят для поиска этой авиакомпании:

  • Райанэйр
  • Райанер
  • Райан Ир
  • Райан Ир
  • Райана Эйр
  • Рая Наир
  • Райан Ари
  • Райар Эйр

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

Чтобы включить все варианты бренда:

 (r|t)[hzeuayi]?[naiy].?[an]?[airn].?(r|t|air)?(e|lines| )?(line|ir)?
Таблица ключевых слов в наборе инструментов SISTRIX для ryanair.com с фильтром регулярных выражений ".(r|t)[hzeuayi]?[naiy].?[an]?[airn].?(r|t|air)?(e| строки| )?(строка|ir)?" применяемый.

Чтобы исключить все варианты брендов:

 ^((?!(r|t)[hzeuayi]?[naiy].?[an]?[airn].?(r|t|air)?(e|lines| )?(line|ir)?).)*$
Таблица ключевых слов в наборе инструментов SISTRIX для ryanair.com с фильтром регулярных выражений "^((?!(r|t)[hzeuayi]?[naiy].?[an]?[airn].?(r|t|air) ?(e|lines| )?(line|ir)?).)*$".

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

Включить или исключить ключевые слова, оканчивающиеся определенными словами

Для поиска уникального ключевого слова будет достаточно простого фильтра, но если мы хотим выполнить поиск с несколькими условиями, например: все ключевые слова, начинающиеся с «купить» и заканчивающиеся на «онлайн», мы можем использовать:

 ^buy.*online$

Это, примененное к интернет-магазину, такому как Screwfix.com, вернет следующие результаты:

Таблица ключевых слов в панели инструментов SISTRIX для currys.co.uk с примененным фильтром регулярных выражений «^buy.*online$».

Включить или исключить ключевые слова, начинающиеся с определенных слов

С точки зрения инструмента сравнения может быть интересно иметь возможность фильтровать ключевые слова, содержащие названия различных брендов.

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

 ^(sony|panasonic|philips|samsung).*

Точно так же мы можем использовать его, чтобы исключить их:

 ^(?!(sony|panasonic|philips|samsung).*)

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

Давайте попробуем это на примере атрибута, часто встречающегося во многих проектах: цены.

Есть много поисковых запросов, которые ссылаются на цену, такие как: «дешево», «скидка», «аутлет», «купон», «предложение», «низкая стоимость», «бюджетно» и т. д.

Если мы хотим исключить их из результатов, мы можем использовать следующее выражение:

 .*(cheap|budget|offer|outlet|price).*
Таблица ключевых слов в наборе инструментов SISTRIX для skinflint.co.uk с примененным фильтром регулярных выражений «.*(дешево|бюджет|предложение|торговая точка|цена).*».

Используя динамические столбцы таблицы, мы можем упорядочить данные по объему поиска в порядке убывания, просто щелкнув заголовок столбца.

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

Включить или исключить ключевые слова, содержащие названия городов Соединенного Королевства.

Многие проекты требуют локального отслеживания присутствия. Для этого мы можем использовать Regex для группировки провинций, регионов, городов и т. д.

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

 .*(aberdeen|armagh|bangor|bath|belfast|birmingham|bradford|brighton|brighton & hove|bristol|cambridge|canterbury|cardiff|carlisle|chelmsford|chester|chichester|coventry|derby|derry|dundee|durham|edinburgh|ely|exeter|glasgow|gloucester|hereford|inverness|kingston|kingston upon hull|lancaster|leeds|leicester|lichfield|lincoln|lisburn|liverpool|london|manchester|newcastle|newcastle upon tyne|newport|newry|norwich|nottingham|oxford|perth|peterborough|plymouth|portsmouth|preston|ripon|st albans|st asaph|st davids|salford|salisbury|sheffield|southampton|stoke|stoke-on-trent|sunderland|swansea|truro|wakefield|wells|westminster|winchester|wolverhampton|worcester|york).*

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

 ^(?!(.*(aberdeen|armagh|bangor|bath|belfast|birmingham|bradford|brighton|brighton & hove|bristol|cambridge|canterbury|cardiff|carlisle|chelmsford|chester|chichester|coventry|derby|derry|dundee|durham|edinburgh|ely|exeter|glasgow|gloucester|hereford|inverness|kingston|kingston upon hull|lancaster|leeds|leicester|lichfield|lincoln|lisburn|liverpool|london|manchester|newcastle|newcastle upon tyne|newport|newry|norwich|nottingham|oxford|perth|peterborough|plymouth|portsmouth|preston|ripon|st albans|st asaph|st davids|salford|salisbury|sheffield|southampton|stoke|stoke-on-trent|sunderland|swansea|truro|wakefield|wells|westminster|winchester|wolverhampton|worcester|york).*))

Однако мы также можем разделить их на несколько выражений, как показано ниже:

Поле «Результаты фильтра» для таблицы ключевых слов SISTRIX Toolbox. Фильтр настроен на «Ключевое слово», а затем на «Регулярное выражение». Введено регулярное выражение "^(?!.*(nike|jordan|air|niketown).*?)".

С этого момента мы добавляем экспертный фильтр, чтобы указать, что эти два выражения относятся к типу «и», а не к типу «или».

Параметры таблицы для таблицы ключевых слов. Их можно найти в верхней навигации помимо «даты». Выбрана опция «Экспертный фильтр».
Таблица ключевых слов в наборе инструментов SISTRIX для nike.com с включенными экспертными фильтрами. Вот два фильтра регулярных выражений, объединенные логическим И.

Фильтрация URL-адресов с помощью регулярных выражений

Шаги, которые вам нужно выполнить для фильтрации URL-адресов, такие же, как те, которые мы исследовали для ключевых слов, с той лишь разницей, что вам нужно будет выбрать «URL-адреса», а затем регулярные выражения.

Поле «Результаты фильтра» для таблицы ключевых слов SISTRIX Toolbox. Фильтр установлен на «URL», а затем на «Регулярное выражение».

Включить или исключить поддомены

Теперь, когда мы узнали, как использовать регулярные выражения для фильтрации ключевых слов, давайте найдем несколько типичных случаев использования SEO, в которых нам потребуется фильтровать URL-адреса.

Вот несколько основных вариантов использования для анализа всего домена и группировки URL-адресов по стратегическим субдоменам:

 (www|support)
Таблица ключевых слов в наборе инструментов SISTRIX для apple.com с примененным фильтром регулярных выражений «(www|support)».

Мы можем использовать фильтр исключения, чтобы, например, отделить чисто транзакционные поддомены и исключить информационные ключевые слова из блогов или часто задаваемых вопросов.

 ^^(?!.*(www|support).*?)
Таблица ключевых слов в наборе инструментов SISTRIX для apple.com с примененным фильтром регулярных выражений «^(?!.*(www|support).*?)».

Включить или исключить URL-адреса, оканчивающиеся или не оканчивающиеся на /

Если домен домашней страницы .com заканчивается косой чертой, регулярное выражение можно адаптировать для соответствия:

 ^.*.com/$
 ^(?!(.*.com/$))

Любой URL-адрес, заканчивающийся на /

 .*/$

Мы также можем использовать это регулярное выражение для URL-адресов, чтобы сосредоточиться исключительно на URL-адресах, заканчивающихся косой чертой (/). Для этого введите домен в строку поиска (1), затем щелкните URL-адреса в навигации (2), добавьте фильтр (3) и выберите фильтр URL-адресов как «регулярное выражение» (4):

1
2
3
4

Конечно, это также работает для URL-адресов, не заканчивающихся на /

 ^(?!(.*/$))
Таблица URL-адресов в наборе инструментов SISTRIX для apple.com с примененным фильтром регулярных выражений URL-адресов «^(?!(.*/$))».

Включить или исключить URL-адреса, содержащие числа

Мы можем поработать с синтаксисом URL, чтобы определить, какие из них содержат числа, чтобы включить или исключить их:

 .*-[0-9].*
 ^(?!(.*-[0-9].*))

Если нам нужно что-то более конкретное, и мы знаем, что есть URL-адреса, оканчивающиеся на определенное число, мы также можем включить или исключить их следующим образом:

 .*-[0-9]+$
 ^(?!(.*-[0-9]+$))

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

 .*[0-9]{8}.html$
 ^(?!(.*[0-9]{8}.html$))

Включить или исключить URL-адреса в определенном формате

Мы также можем использовать Regex для фильтрации форматов URL-адресов. Например, URL-адреса в формате htm или html, а также в формате pdf.

Это довольно просто, так как мы можем рассчитывать на фильтры «заканчивается на» или «содержит».

 .*htm.?$
 .*pdf$

Чтобы исключить нужные форматы URL:

 ^(?!(.*html.?$).)
 ^(?!(.*pdf.?$).)

Мы можем использовать несколько форматов в одном и том же выражении, что будет более ценно и избавит нас от необходимости объединять несколько фильтров, чтобы включить:

 .*(htm|html)$
 .*(jpg|jpeg|gif|png)$

И мы также можем комбинировать исключаемые форматы:

 ^(?!(.*(htm|html)$).)
 ^(?!(.*htm.?)$).)
 ^(?!(.*(jpg|jpeg|gif|png)$).)

Включить или исключить URL-адреса, относящиеся к неправильным рынкам

Мы можем отслеживать URL-адреса, которые не должны появляться в результатах определенного рынка. Например, URL-адреса, относящиеся к рынкам США, Мексики или Германии, которые появляются в результатах испанского рынка.

Взяв за основу следующие экземпляры URL:

Испанский испанский /es_es/

английский (Великобритания) /en_gb/

английский (США) /en_us/

итальянский итальянский /it_it/

И так далее.

Мы можем использовать регулярное выражение для фильтрации количества URL-адресов, не принадлежащих испанскому рынку.

 ^(?!(.*[es]_[az].*)|(.*[az]_[es].*).)
Таблица ключевых слов в наборе инструментов SISTRIX для hm.com с примененным фильтром регулярных выражений "^(?!(.*[es]_[a-z].*)|(.*[a-z]_[es].*).)" .

Как видите, выражение допускает URL-адрес домашней страницы, на которой расположен переключатель языка.

Чтобы уточнить это выражение и исключить домашнюю страницу, мы можем расширить его, как показано ниже:

 ^(?!(.*.com/$)|(.*[es]_[az].*)|(.*[az]_[es].*).)
Таблица ключевых слов в наборе инструментов SISTRIX для hm.com с фильтром регулярных выражений "^(?!(.*.com/$)|(.*[es]_[a-z].*)|(.*[a-z]_[ es].*).)" применяется.

Резюме

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

Вы можете продолжать тестировать и практиковаться с такими инструментами, как https://www.Regextester.com/, или напрямую с фильтрами URL, ключевых слов или фрагментов SISTRIX.

Несмотря на то, что мы не предоставляем поддержку Regex, мы продолжим обновлять это руководство новыми вариантами использования и анализом SEO, которые могут оказаться полезными для вас.