Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Групування, квантифікатори та якорі | Регулярні вирази середнього рівня
Регулярні Вирази Python

Групування, квантифікатори та якорі

Свайпніть щоб показати меню

Розуміння того, як групувати частини шаблону, задавати кількість повторень і визначати, де саме у рядку має відбутися збіг, є ключовими навичками для написання потужних регулярних виразів. У Python для створення груп використовуються дужки (), які дозволяють розглядати кілька символів як єдине ціле. Квантифікатори на кшталт *, +, ? і {n,m} визначають, скільки разів символ або група повинні з'явитися. Якорі такі як ^ і $ — це спеціальні символи, які відповідають початку або кінцю рядка відповідно.

Групування за допомогою дужок

Групування за допомогою дужок дозволяє застосовувати квантифікатори до цілих підшаблонів, а не до окремих символів. Наприклад, (ab)+ відповідає одному або більше повторенням послідовності ab.

Квантифікатори

  • Зірочка (*) означає "нуль або більше разів";
  • Плюс (+) означає "один або більше разів";
  • Знак питання (?) означає "нуль або один раз";
  • Фігурні дужки ({n,m}) задають мінімальну (n) та максимальну (m) кількість повторень.

Якорі

Якорі — це не символи для пошуку, а маркери позицій у рядку. Карет (^) позначає початок, а знак долара ($) — кінець рядка.

1234567
import re text = "hello hello world world world" pattern = r"(world\s+)+" matches = re.findall(pattern, text) print(matches)

Покроковий аналіз: групування та квантифікатори

У цьому прикладі регулярний вираз (world\s+)+ використовується для пошуку повторюваних входжень слова world, за яким ідуть пробіли. Розглянемо, як працює цей шаблон:

  • Дужки () створюють групу навколо world\s+, розглядаючи слово world і наступний пробіл як єдине ціле;
  • Квантифікатор плюс + одразу після групи означає, що ця група має з'явитися один або більше разів підряд;
  • У результаті шаблон знаходить кожну послідовність, де world повторюється з пробілами між словами, захоплюючи найдовшу таку послідовність.

Групування особливо корисне, коли потрібно застосувати квантифікатори до послідовності символів або захопити частини збігу для подальшого використання. Квантифікатори можна застосовувати до окремих символів, класів символів або цілих груп. Використання якорів із цими шаблонами дозволяє ще точніше контролювати, де саме відбувається збіг, наприклад, знаходити повторюване слово лише на початку або в кінці рядка.

question mark

Що знаходить регулярний вираз (ab)+?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 1

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 2. Розділ 1
some-alt