Ana içeriğe geç
Modül 4 · Ders 1 ders 4Kurstaki 13/32~10 min
Modül dersleri (1/4)

Yakalama grupları: `(...)`

Parantezlerde (...) bir arada iki işleve sahiptir:

  1. Grup alt kalıpları, böylece bir niceleyici bütüne uygulanır grup ((ab)+, ab, abab, ababab ile eşleşir).
  2. Eşleşen alt dizeyi yakalayın ve onu numaralandırılmış bir grup olarak gösterin ayrı olarak erişilebilir (grup 1, 2, 3… açılış parantezi).
Code
Pattern: (\d{4})-(\d{2})-(\d{2})
Sample:  Data: 2024-03-15.
               ^^^^^^^^^^
Gruppi:
  match  = "2024-03-15"
  gruppo1 = "2024"
  gruppo2 = "03"
  gruppo3 = "15"

Sağdaki editör her maçın altındaki grupları gösterir.

Bir grubun niceliğini belirlemek

Parantez olmadan ab+ "a'nın ardından bir veya daha fazla b" anlamına gelir. Parantezli "bir veya daha fazla ab" olur:

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

Grup endekslerini ve kullanımını yakalayın

Başına özel karakterler gelmeyen her parantez çifti, numaralandırılmış bir yakalama grubu oluşturur. Grup 1 birinci açık paranteze, grup 2 ikinciye vb. karşılık gelir. JavaScript'te bu gruplara exec veya matchAll tarafından döndürülen dizi aracılığıyla erişebilirsiniz.

Deneyin

Egzersiz#regex.m4.l1.e1
Denemeler: 0Yükleniyor…

Yıl, ay ve günü üç ayrı grup halinde yakalayarak her tarihi YYYY-AA-GG formatında bulun.

Düzenleyici yükleniyor…
İpucu göster

Üç basamaklı blokların her birini parantez içine alın: her biri numaralı bir grup oluşturur.

3 denemeden sonra çözüm mevcut

Alıştırmayı gözden geçirin

Egzersiz#regex.m4.l1.e2
Denemeler: 0Yükleniyor…

Tek bir eşleşme olarak 'ab'nin (bir veya daha fazla) her tekrarını bulun. Parantez olmadan nicelik belirteci yalnızca son "b"ye uygulanır.

Düzenleyici yükleniyor…
İpucu göster

(ab)+ 'ab'ı ​​bir birim olarak ele alır ve bir veya daha fazla ardışık tekrar arar.

3 denemeden sonra çözüm mevcut

Ek zorluk

Egzersiz#regex.m4.l1.e3
Denemeler: 0Yükleniyor…

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

Düzenleyici yükleniyor…
İpucu göster

Her \\d{2} veya \\d{4}'yi parantez içine alın.

3 denemeden sonra çözüm mevcut