Przejdź do głównej treści
eLearner.app
Moduł 4 · Lekcja 1 z 413/32 w kursie~10 min
Lekcje modułu (1/4)

Grupy przechwytujące: `(...)`

Nawiasy (...) pełnią dwie funkcje jednocześnie:

  1. Grupują podwzorce, dzięki czemu kwantyfikator odnosi się do całej grupy ((ab)+ dopasowuje ab, abab, ababab).
  2. Przechwytują dopasowany podciąg, udostępniając go jako grupę numerowaną dostępną oddzielnie (grupa 1, 2, 3... od lewej do prawej na podstawie nawiasu otwierającego).
Code
Pattern: (\d{4})-(\d{2})-(\d{2})
Sample:  Data: 2024-03-15.
               ^^^^^^^^^^
Gruppi:
  match  = "2024-03-15"
  gruppo1 = "2024"
  gruppo2 = "03"
  gruppo3 = "15"

Edytor po prawej stronie pokazuje grupy pod każdym dopasowaniem.

Kwantyfikowanie grupy

Bez nawiasów, zapis ab+ oznacza "litera a, po której następuje jedna lub więcej liter b". Z nawiasami staje się to "jedno lub więcej powtórzeń ab":

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

Indeksy grup przechwytujących i ich użycie

Każda para nawiasów okrągłych, która nie jest poprzedzona znakami specjalnymi, tworzy numerowaną grupę przechwytującą. Grupa 1 odpowiada pierwszemu nawiasowi otwierającemu, grupa 2 drugiemu i tak dalej. W JavaScript dostęp do tych grup uzyskasz poprzez tablicę zwracaną przez metody exec lub matchAll.

Spróbuj sam

Ćwiczenie#regex.m4.l1.e1
Próby: 0Ładowanie...

Znajdź każdą datę w formacie RRRR-MM-DD, przechwytując rok, miesiąc i dzień jako trzy oddzielne grupy.

Ładowanie edytora...
Pokaż wskazówkę

Otocz każdy z trzech bloków cyfr nawiasami okrągłymi: każdy z nich tworzy numerowaną grupę.

Rozwiązanie dostępne po 3 próbach

Ćwiczenie powtórzeniowe

Ćwiczenie#regex.m4.l1.e2
Próby: 0Ładowanie...

Znajdź każde powtórzenie `ab` (jedno lub więcej) jako pojedyncze dopasowanie. Bez nawiasów kwantyfikator dotyczyłby tylko ostatniej litery `b`.

Ładowanie edytora...
Pokaż wskazówkę

Wzorzec (ab)+ traktuje 'ab' jako całość i szuka jednego lub więcej kolejnych powtórzeń.

Rozwiązanie dostępne po 3 próbach

Dodatkowe wyzwanie

Ćwiczenie#regex.m4.l1.e3
Próby: 0Ładowanie...

Utwórz trzy grupy przechwytujące, aby wyodrębnić dzień, miesiąc i rok osobno z dat w formacie `DD/MM/RRRR`.

Ładowanie edytora...
Pokaż wskazówkę

Otocz każdy blok \d{2} lub \d{4} nawiasami okrągłymi.

Rozwiązanie dostępne po 3 próbach