Lektionen des Moduls (4/4)
Benannte Gruppen und Rückwärtsreferenzen
Wenn die Anzahl der Gruppen wächst, denken Sie daran, dass $2 „der Monat“ ist und $5
und „das Jahr“ wird brüchig. Die Syntax (?<nome>...) ti permette di
nominare un gruppo: lo accedi per nome via groups.name (e nelle
sostituzioni come $<nome>).
Pattern: (?<anno>\d{4})-(?<mese>\d{2})-(?<giorno>\d{2})
Sample: 2024-03-15
Gruppi:
anno = "2024"
mese = "03"
giorno = "15"Der Editor zeigt auch die benannten Gruppen neben der Übereinstimmung an.
Rückverweis
Eine Rückreferenz ermöglicht es Ihnen, innerhalb desselben Musters zu verweisen, zu einer früheren Aufnahme. Die Syntax:
\1,\2, \u2026 – nummerierte Referenz (zu Gruppe 1, 2, \u2026).\k<nome>– benannte Referenz.
Pattern: \b(\w+)\s+\1\b
Sample: un test un test il il gatto
^^^^^Matcha aufeinanderfolgende doppelte Wörter: (\w+) fängt also ein Wort
\s+\1 erfordert ein Leerzeichen und das gleiche Wort.
Selbstdokumentation und Rückverweis benannt
Benannte Gruppen verbessern die Lesbarkeit von JavaScript-Code: Anstatt auf match[1] zu verweisen, wird auf match.groups.nome zugegriffen. Im Muster erfolgt der Rückverweis über die Syntax \k<nome>.
Probieren Sie es selbst aus
Trova ogni data in formato YYYY-MM-DD nominando i gruppi `anno`, `mese`, `giorno`.
Hinweis anzeigen
Sintassi: (?<nome>pattern). Il match ti mostra i gruppi sotto la voce 'named'.
Lösung nach 3 Versuchen verfügbar
Wiederholungsübung
Trova parole consecutive duplicate (es. `il il`, `casa casa`). Usa un gruppo per la prima e un backreference `\\1` per la seconda.
Hinweis anzeigen
\\b(\\w+)\\s+\\1\\b: la prima parola e' (\\w+), poi spazio, poi la STESSA parola \\1.
Lösung nach 3 Versuchen verfügbar
Zusätzliche Herausforderung
Trova coppie di tag HTML/XML (es. `<b>testo</b>` o `<i>testo</i>`) assicurandoti che il tag di chiusura coincida con quello di apertura utilizzando una named backreference.
Hinweis anzeigen
Assegna il nome (?<tag>\w+) e chiudilo con \k<tag>.
Lösung nach 3 Versuchen verfügbar