Перейти к основному содержимому
Модуль 4 · Урок 1 из 413/32 в курсе~10 min
Уроки модуля (1/4)

Группы захвата: `(...)`

Кробки (...) выполняют две функции в одной:

  1. Группируйте подшаблоны, чтобы квантификатор применялся ко всему группа ((ab)+ соответствует ab, abab, ababab).
  2. Захватить совпавшую подстроку, представляя ее как нумерованную группу. доступны отдельно (группа 1, 2, 3… слева направо в зависимости от открывающую скобку).
Code
Pattern: (\d{4})-(\d{2})-(\d{2})
Sample:  Data: 2024-03-15.
               ^^^^^^^^^^
Gruppi:
  match  = "2024-03-15"
  gruppo1 = "2024"
  gruppo2 = "03"
  gruppo3 = "15"

Редактор справа показывает группы по каждому совпадению.

Количественная оценка группы

Без скобок ab+ означает «а, за которой следует один или несколько b». В скобках он становится «одним или несколькими ab»:

Code
Pattern   Matcha su 'ababab':
ab+       'ab' (poi 'a' e 'b' separati, non collegati)
(ab)+     'ababab' come gruppo unico

Захват групповых индексов и использования

Каждая пара круглых скобок, которым не предшествуют специальные символы, создает пронумерованную группу захвата. Группа 1 соответствует первой открывающей скобке, группа 2 — второй и т. д. В JavaScript вы можете получить доступ к этим группам через массив, возвращаемый exec или matchAll.

Попробуйте это

Упражнение#regex.m4.l1.e1
Попыток: 0Загрузка…

Найдите каждую дату в формате ГГГГ-ММ-ДД, выделяя год, месяц и день в виде трех отдельных групп.

Загрузка редактора…
Показать подсказку

Заключите каждый из трёх блоков цифр в круглые скобки: каждый из них создаёт пронумерованную группу.

Решение доступно после 3 попыток

Обзор упражнения

Упражнение#regex.m4.l1.e2
Попыток: 0Загрузка…

Найдите каждое повторение `ab` (одно или несколько) как одно совпадение. Без круглых скобок квантификатор будет применяться только к последней букве «b».

Загрузка редактора…
Показать подсказку

(ab)+ рассматривает «ab» как единицу и ищет одно или несколько последовательных повторений.

Решение доступно после 3 попыток

Дополнительная задача

Упражнение#regex.m4.l1.e3
Попыток: 0Загрузка…

Create three capture groups to extract the day, month, and year separately from dates in the format `DD/MM/YYYY`.

Загрузка редактора…
Показать подсказку

Заключите каждый \\d{2} или \\d{4} в круглые скобки.

Решение доступно после 3 попыток