Pelajaran modul (4/4)
Grup bernama dan referensi belakang
Ketika jumlah kelompok bertambah, ingatlah bahwa $2 adalah "bulan" dan $5
adalah "tahun" menjadi rapuh. Sintaks (?<name>...) memungkinkan Anda
nama grup: Anda mengaksesnya berdasarkan nama melalui groups.name (dan masuk
penggantinya sebagai $<name>).
Pattern: (?<anno>\d{4})-(?<mese>\d{2})-(?<giorno>\d{2})
Sample: 2024-03-15
Gruppi:
anno = "2024"
mese = "03"
giorno = "15"Editor menunjukkan nama grup di sebelah kecocokan.
Referensi Balik
Referensi Balik memungkinkan Anda merujuk, di dalam pola yang sama, ke tangkapan sebelumnya. Sintaksnya:
\1,\2, … -- referensi bernomor (ke grup 1, 2, …).\k<name>-- bernama referensi.
Pattern: \b(\w+)\s+\1\b
Sample: un test un test il il gatto
^^^^^Ini cocok dengan kata duplikat berturut-turut: (\w+) menangkap sebuah kata, lalu
\s+\1 memerlukan spasi dan kata yang sama.
Kode yang didokumentasikan sendiri dan referensi balik yang diberi nama
Grup bernama meningkatkan keterbacaan kode JavaScript: alih-alih merujuk ke match[1], Anda mengakses match.groups.name. Di dalam pola itu sendiri, referensinya dilakukan dengan sintaks \\k<name>.
Cobalah
Temukan setiap tanggal dalam format YYYY-MM-DD dengan memberi nama grup `anno`, `mese`, `giorno`.
Tunjukkan petunjuk
Sintaks: (?<nama>pola). Pertandingan menunjukkan grup-grup di bawah entri 'bernama'.
Solusi tersedia setelah 3 upaya
Tinjau latihan
Temukan kata duplikat yang berurutan (misalnya `il il`, `casa casa`). Gunakan grup untuk yang pertama dan referensi balik `\\1` untuk yang kedua.
Tunjukkan petunjuk
\\b(\\w+)\\s+\\1\\b: kata pertama adalah (\\w+), lalu spasi, lalu kata SAMA \\1.
Solusi tersedia setelah 3 upaya
Tantangan tambahan
Find HTML/XML tag pairs (e.g. `**text**` or `*text*`) ensuring that the closing tag matches the opening tag using a named backreference.
Tunjukkan petunjuk
Tetapkan nama (?<tag>\\w+) dan tutup dengan \\k<tag>.
Solusi tersedia setelah 3 upaya