Создание, продвижение сайтов
компьютерная поддержка
53-02-63

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

09 октября 2016

И в первую очередь мы разберем на примере, как использовать регулярные выражения при работе с Sublime Text. Регулярные выражения — это мощнейший инструмент, хорошо известный программистам. Однако он может быть полезен не только программистам, но и всем людям, работающим с кодом или простым текстом. Регэкспы (от RegExp) способны значительно облегчить вам жизнь и автоматизировать рутинные операции. И они просто незаменимы при необходимости поиска и замены текста по определенным признакам.

«Капитализация» текста

Предположим, нам нужно прописать с большой буквы каждое слово текста, заключенного в определенные теги. Как это можно сделать? Можно найти каждое вхождение тега и вручную изменить его содержимое. Но это долгий и утомительный способ, поэтому мы пойдем другим путем.

В Sublime есть инструмент для подобного управления регистром символов, и находится он в меню по адресу Edit → Convert Case → Title Case. Тот же инструмент доступен при поиске в командной панели — нажмите CtrlShiftP и наберите там слово «title», либо наберите слово «case» чтобы увидеть другие доступные варианты манипуляций с регистром. Естественно, предварительно нужно выделить текст, с которым вы хотите производить манипуляции.

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

И тут нам на помощь приходят регулярные выражения.

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

<h2>.+</h2>

В примере выше точка олицетворяет собой любой символ, а знак «+» указывает, что допустимо любое количество вхождений указанного символа. Подробный синтаксис регулярных выражений вы можете найти на специализированных ресурсах (начать можно с уже упомянутой страницы в Википедии).

Однако по умолчанию регулярные выражения в поисковой форме не обрабатываются. Для того, чтобы они заработали, необходимо нажать кнопочку с символом «*» на той же поисковой панели. Того же эффекта можно добиться, нажав CtrlR (при этом поисковая панель должна быть активна).

Теперь Sublime должен подсветить ближайшее вхождение заданной последовательности.

Последовательный поиск с использованием регулярных выражений в Sublime Text

Для того же, чтобы выделить все вхождения этой последовательности, необходимо (при активной поисковой строке) нажать AltEnter. При этом каждое вхождение будет выделено отдельно, используются уже знакомые наммножественные курсоры.

Множественное выделение с использованием регулярных выражений в Sublime Text

Теперь нам осталось (не снимая выделения со строк) выполнить упомянутую выше операцию «Title Case». Но после ее применения обнаруживается неприятность — с большой буквы начинается каждое слово, кроме первого:

Операция Title Case в Sublime Text

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

(?<=<h2>).+(?=</h2>)

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

Выделение содержимого тега в Sublime Text

И если после этого выполнить команду «Title Case», то на этот раз мы добьемся именно того эффекта, которого хотели:

Замена символов в Sublime Text

Естественно, это далеко не единственный способ использования регулярных выражений. Но цель этой статьи — не разобрать все их разнообразие, а показать, что используя регэкспы можно значительно облегчить себе жизнь, а также показать, как именно осуществляется работа с регулярными выражениями в Sublime Text. Естественно, использовать их можно не только на панели последовательного поиска (CtrlI), но также и при обычном поиске (CtrlF, либо при поиске и замене (CtrlH).

Узнайте о нас больше:

Мы предлагаем широкий спект услуг по сайтам и компьютерной поддержке

Создание сайтов

Мы разрабатываем как простые сайты - визитки, так и индивидуальные проекты. Основная система разработки - CMS Drupal.

Узнать подробнее

Продвижение сайтов

Одно из основных направлений работы нашей компании - продвижение сайтов в Саратове и области. Мы поможем Вам с SEO - продвижением сайтов и настройкой и ведением контекстной рекламы в Яндекс Директ.

Бесплатная SEO-консультация

Компьтерная поддержка

Мы оказываем услуги компаниям и частным лицам в области настройки компьютерного оборудования:

  • Настройка роутеров и локальных сетей
  • Установка Windows
  • Оптимизация работы компьютеров
  • Лечение вирусов
  • Восстановление данных с жестких дисков
Узнать подробнее
Сделайте заказ с сайта и получите 10% скидку на услугу

Заказ услуги с сайта raybin.ru

Нажимая на кнопку "Получить консультацию", я даю согласие на обработку персональных данных и соглашаюсь c условиями политики конфиденциальности
Заказать бесплатную SEO-консультацию

Запрос бесплатной SEO - консультации с сайта raybin.ru

Нажимая на кнопку "Получить консультацию", я даю согласие на обработку персональных данных и соглашаюсь c условиями политики конфиденциальности
Письмо в компанию Райбин

Письмо в компанию RAYBIN

Нажимая на кнопку "Получить консультацию", я даю согласие на обработку персональных данных и соглашаюсь c условиями политики конфиденциальности