1. Регулярные выражения (regex)

Регулярные выражения, часто сокращаемые до regex, — это мощный инструмент для сопоставления текста по шаблону. Понимание их является основой для освоения манипуляций с текстом в Linux. Хотя существует множество приложений для изучения Linux, погружение в основные концепции, такие как regular expression linux, — это самый быстрый путь к продвинутому владению Linux. Они используют специальные обозначения, некоторые из которых похожи на подстановочные знаки, такие как *.

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

sally sells seashells
by the seashore

Привязка к началу строки

Символ каретки ^ соответствует началу строки. Он гарантирует, что ваш шаблон появляется только в начале.

^by

Этот шаблон совпадет со строкой "by the seashore", но не со строкой "sally sells seashells".

Привязка к концу строки

Символ доллара $ соответствует концу строки. Это аналог привязки ^.

seashore$

Этот шаблон совпадет со строкой "by the seashore", потому что она заканчивается на "seashore".

Сопоставление любого одного символа

Точка . — это подстановочный знак, который соответствует любому одному символу.

b.

В нашем примере это совпадет с "by".

Использование скобок для наборов символов

Квадратные скобки [] позволяют указать набор символов для сопоставления. Это дает больше контроля, чем подстановочный знак ..

s[ae]lls

Это совпадет с "sells" и также совпадет с "salls".

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

s[^e]lls

Это совпадет с "salls", но не с "sells".

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

d[a-c]g

Этот шаблон совпадет с "dag", "dbg" и "dcg". Имейте в виду, что диапазоны чувствительны к регистру. Например, [a-c] не совпадет с A, B или C.

Изучение этих операторов — один из лучших способов освоить эффективность командной строки Linux.

Войдите, чтобы сохранить ваш прогресс обучения

Вход

Упражнения

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

  1. Поиск текста с помощью grep в Linux — В этой лаборатории вы научитесь искать текст в файлах в системе Linux с помощью команды grep. Вы выполните базовый поиск, отобразите номера строк, используете привязки, такие как ^ и $, для сопоставления позиций строк, а также задействуете как базовые, так и расширенные регулярные выражения для сложного сопоставления по шаблону.
  2. Обработка текста и регулярные выражения — Изучите мощные инструменты обработки текста grep, sed и awk. Научитесь использовать регулярные выражения для эффективного манипулирования текстом и сопоставления по шаблону в Linux.
  3. Извлечение почты и чисел — В этом задании вы узнаете, как использовать grep и регулярные выражения для извлечения адресов электронной почты и чисел из файла, демонстрируя основные навыки обработки текста в Linux.

Эти лабораторные работы помогут вам применять концепции в реальных сценариях и укрепить уверенность в работе с регулярными выражениями и обработкой текста.

Тест

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