Підручник із регулярних виразів Linux: Приклад Greg Regex

Зміст:

Anonim

Що таке регулярні вирази Linux?

Регулярні вирази Linux - це спеціальні символи, які допомагають шукати дані та узгоджувати складні шаблони. Регулярні вирази скорочуються як "регулярний вираз" або "регулярний вираз". Вони використовуються в багатьох програмах Linux, таких як grep, bash, rename, sed тощо.

Типи регулярних виразів

Для зручності розуміння давайте вивчати різні типи регулярних виразів по черзі.

  • Основні регулярні вирази
  • Інтервал Регулярні вирази
  • Розширені регулярні вирази
  • Резюме

Клацніть тут, якщо відео недоступне

Основні регулярні вирази

Деякі загальновживані команди з регулярними виразами: tr, sed, vi та grep. Нижче наведено деякі основні регулярні вирази.

Символ Описи
. замінює будь-який символ
відповідає початку рядка
$ збігається з кінцем рядка
* відповідає нулю або більше разів попередньому символу
\ Представляють спеціальні символи
() Групує регулярні вирази
? Відповідає рівно одному персонажу

Подивимось приклад.

Виконайте зразок кота, щоб побачити вміст існуючого файлу

Шукати вміст, що містить букву "а".

' ^ ' відповідає початку рядка. Давайте шукати вміст, який ПОЧИНАЄТЬСЯ з

Фільтруються лише рядки, що починаються з символу. Рядки, які не містять символу 'a' на початку, ігноруються.

Давайте розглянемо ще один приклад -

Виділіть лише ті рядки, які закінчуються на t, використовуючи $

Інтервал Регулярні вирази

Ці вирази говорять нам про кількість випадків появи символу в рядку. Вони є

Вираз Опис
{n}

Точно відповідає попередньому символу, що з’являється «n» разів

{n, m} Відповідає попередньому символу, що з'являється "n" разів, але не більше m
{n,} Відповідає попередньому символу лише тоді, коли він з'являється "n" разів або більше

Приклад:

Відфільтруйте всі рядки, що містять символ 'p'

Ми хочемо перевірити, щоб символ 'p' з'являвся рівно 2 рази в рядку один за одним. Для цього синтаксис буде таким:

cat sample | grep -E p\{2}

Примітка: Вам потрібно додати -E до цих регулярних виразів.

Розширені регулярні вирази

Ці регулярні вирази містять комбінації більш ніж одного виразу. Деякі з них:

Вираз Опис

\ +

Відповідає одному чи кільком випадкам попереднього символу

\?

Відповідає нулю або одному входження попереднього символу

Приклад:

Пошук усіх символів 't'

Припустимо, ми хочемо відфільтрувати рядки, де символ 'a' передує символу 't'

Ми можемо використовувати команду like

cat sample|grep "a\+t"

Розширення брекета

Синтаксис розширення фігурних дужок - це послідовність або розділений комами список елементів у фігурних дужках "{}". Початкові та кінцеві елементи в послідовності розділені двома крапками "...".

Кілька прикладів:

У наведених вище прикладах команда echo створює рядки за допомогою розширення фігурних дужок.

Короткий зміст:

  • Регулярні вирази - це набір символів, що використовується для перевірки шаблонів у рядках
  • Їх також називають "регулярними виразами" та "регулярними виразами"
  • Важливо вивчити регулярні вирази для написання сценаріїв
  • Деякі основні регулярні вирази:
Символ Описи
. замінює будь-який символ
відповідає початку рядка
$ збігається з кінцем рядка
  • Деякі розширені регулярні вирази:
Вираз Опис
\ + Відповідає одному чи кільком випадкам попереднього символу
\? Відповідає нулю або одному входження попереднього символу
  • Деякі регулярні вирази інтервалу:
Вираз Опис
{n} Точно відповідає попередньому символу, що з’являється «n» разів
{n, m} Відповідає попередньому символу, що з'являється "n" разів, але не більше m
{n,} Відповідає попередньому символу лише тоді, коли він з'являється "n" разів або більше
  • Розширення фігурної дужки використовується для генерації рядків. Це допомагає створювати кілька рядків з одного.