Отредактировано 2 дней назад от ExtremeHow Редакционная команда
BBEditРегулярные выраженияПоискОбработка текстаПрограммированиеТекстовые редакторыПрограммное обеспечениеПродуктивностьИнструментыРедакторыНаписаниеПриложенияКонфигурацияУтилитыКодРазработкаСистемаСкриптыНастройка
Перевод обновлен 2 дней назад
Регулярные выражения, часто сокращаемые как regex, представляют собой последовательности символов, которые формируют поисковые шаблоны. Они широко используются в текстовом разборе, проверке данных и подсветке синтаксиса. BBEdit, популярный текстовый редактор для macOS, предлагает мощную поддержку регулярных выражений, помогая пользователям эффективно искать и изменять текст. В этом руководстве будет объяснено, как эффективно использовать регулярные выражения в BBEdit. Мы рассмотрим основы, приведём примеры и подчеркнём некоторые продвинутые функции.
Прежде чем приступать к примерам, давайте ознакомимся с тем, как работают регулярные выражения в BBEdit. Это приложение позволяет искать, используя шаблоны, а не фиксированные строки, что особенно полезно при работе с большими документами или выполнении повторяющихся задач.
Чтобы использовать регулярные выражения в BBEdit, их необходимо активировать в диалоге поиска. Откройте BBEdit и нажмите Command + F
, чтобы открыть панель поиска. Там отметьте опцию "Use Grep". В BBEdit "Grep" — это другой термин для регулярных выражений, происходящий от Unix-инструментов, использующих схожий синтаксис.
Понимание базового синтаксиса регулярных выражений важно для их эффективного использования. Давайте изучим некоторые из основных компонентов:
[abc]
, чтобы соответствовать любому символу внутри скобок. Например, [aeiou]
соответствует любой гласной..
соответствует любому одиночному символу, кроме символов новой строки.?
соответствует 0 или 1 вхождению, звёздочка *
соответствует 0 или более вхождений, а плюс +
соответствует 1 или более вхождений.^
обозначает начало строки, и знак доллара $
обозначает конец строки.( )
группируют выражения и запоминают совпадения. Например, (abc)
соответствует и запоминает группу "abc".Давайте начнем с простых примеров использования регулярных выражений для поиска текста в BBEdit.
Предположим, вы хотите найти все вхождения слова "cat" в документе. Введите cat
в строку поиска. Чтобы включить варианты, такие как "Cat" или "CAT", используйте классы символов или регистронезависимый поиск. Для классов символов введите [Cc][Aa][Tt]
.
Если у вас есть документ с дублирующимися словами, такими как "fish fish", и вы хотите их найти, используйте шаблон (\b\w+\b)\s+\1
. Вот как это работает:
(\b\w+\b)
содержит целое слово (\w+ — это слово, состоящее из одного или нескольких символьных символов).\s+
соответствует одному или более пробельным символам, следующим за словом.\1
ссылается на захваченную группу, находя повторяющееся слово.Чтобы найти строки, начинающиеся с определенного слова, используйте якоря. Например, шаблон ^StartWord
находит строки, которые начинаются с "StartWord". Аналогично, EndWord$
находит строки, которые заканчиваются на "EndWord".
Регулярные выражения также могут быть использованы для функций поиска и замены в BBEdit, чтобы автоматизировать задачи и оптимизировать рабочий процесс.
Если вам нужно заменить все цифры в документе на "X", используйте \d
, чтобы найти цифры и заменить их на "X". В поле поиска введите \d
, а в поле замены введите "X".
Предположим, у вас есть список чисел, отформатированных как "123-45-6789", и вы хотите переоформить их как "(123) 45-6789". Используйте следующий шаблон для поиска и замены:
Find: (\d{3})-(\d{2})-(\d{4}) Replace: (\1) \2-\3
Этот шаблон использует захваченные группы, чтобы переупорядочить числа в нужный формат.
Если в вашем документе есть ненужные пробелы, и вы хотите их сократить, используйте \s+
для поиска множества пробелов и замены их на один пробел. Это помогает очистить текст.
BBEdit поддерживает расширенные возможности регулярных выражений и предлагает мощь и гибкость для более сложных задач.
Предвосхищения — это утверждения нулевой ширины, которые полезны для сопоставления шаблонов без захвата символов. Например, предположим, вы хотите найти "яблоко", за которым не следует "пирог". Вы можете использовать:
(?=apple)(?!.*pie)
Подобно предвосхищению, ретроспективное соответствие сопадает с шаблоном, который появляется перед другим шаблоном. Чтобы найти "пирог", который не предшествовал "яблоку", используйте:
Тестирование ваших регулярных выражений
Важно тестировать регулярные выражения, чтобы обеспечить их точность и ожидаемые результаты. BBEdit поддерживает функцию тестирования, где вы можете вводить и просматривать результаты поисков и замен регулярных выражений непосредственно в документе.
Отладка регулярных выражений
BBEdit предоставляет функцию в панели поиска, опцию "Process Lines Containing", которая помогает отлаживать и понимать, как регулярные выражения воздействуют на ваш текст.
Примеры практического применения регулярных выражений в BBEdit
Давайте рассмотрим некоторые практические применения, где регулярные выражения могут быть чрезвычайно полезны в BBEdit.
Приложение 1: Извлечение данных
Предположим, у вас есть документ с записями в формате "Name: John Doe, Phone: 123-456-7890". Чтобы извлечь номер телефона, используйте шаблон:
Phone:\s*(\d{3}-\d{3}-\d{4})Он сосредотачивается на номерах телефонов, которые следуют за текстом "Phone:".
Приложение 2: Проверка данных
Для проверки адресов электронной почты в списке вы можете использовать шаблон регулярного выражения, такой как следующий:
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}Это обеспечивает, что каждая часть формата адреса электронной почты верна.
Приложение 3: Передача кодовых данных
Для замены значений в повторяющемся формате кода, допустим, вы хотите поменять местами значения переменных "a" и "b" на нескольких строках, таких как
let a = 1, b = 2;
Используйте следующее регулярное выражение для замены:Find: let a = (\d+), b = (\d+); Replace: let a = \2, b = \1;Приложение 4: Обнаружение шаблонов в тексте
Ищите HTML-теги в вашем документе с помощью регулярных выражений, чтобы выявить проблемы или изменить их:
Это соответствует любому открывающему или закрывающему HTML-тегу.
Заключение
Регулярные выражения являются мощным инструментом для манипулирования текстом и обработки данных в BBEdit. Изучая основы и постепенно переходя к продвинутым техникам, вы сможете использовать их в полной мере для упрощения сложных задач, проверки данных, изменения кода и многого другого. Экспериментирование с примерами и тестирование улучшит ваши навыки в эффективном использовании регулярных выражений. Каждая уникальная задача может иметь своё собственное индивидуальное решение с помощью регулярных выражений, демонстрируя универсальность и эффективность этого инструмента в BBEdit.
Если вы найдете что-то неправильное в содержании статьи, вы можете
Комментарии