Gruppi di cattura, backreference e sostituzione
Utilizzi le parentesi per catturare parti di una corrispondenza e riutilizzarle con le backreference, ottenendo un potente strumento per il matching e la sostituzione del testo.
Gruppi di cattura, backreference e sostituzione è una lezione Linux Command Line & Bash Scripting Mastery gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Linux Command Line & Bash Scripting Mastery, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Linux Command Line & Bash Scripting Mastery include 4 lezioni in totale.
Che cosa sono i gruppi di cattura?
Le parentesi ( ) creano un gruppo di cattura che conserva il testo corrispondente, così può essere referenziato in seguito.
echo "2026-05-29" | grep -E "([0-9]{4})-([0-9]{2})-([0-9]{2})"Numerazione dei gruppi
I gruppi vengono numerati da sinistra a destra in base alla parentesi di apertura. Il gruppo 1 è il primo (, il gruppo 2 il secondo e così via.
# (year)(month)(day)
# group 1 = year, 2 = month, 3 = dayRiferimenti all'indietro nella ricerca
Un riferimento all'indietro come \1 corrisponde allo STESSO testo catturato in precedenza da un gruppo. È molto utile per trovare duplicati.
echo "hello world world" | grep -E "(\w+) \1"Rilevare le parole raddoppiate
Il modello (\w+) \1 trova una parola seguita da sé stessa, un errore di battitura comune.
echo "the the cat sat" | grep -oE "(\w+) \1"Gruppi di cattura con sed
Nelle sostituzioni di sed, i gruppi catturati vengono riutilizzati nella parte sostitutiva come \1, \2. Usi -E per le espressioni regolari estese.
echo "2026-05-29" | sed -E "s|([0-9]{4})-([0-9]{2})-([0-9]{2})|\3/\2/\1|"Scambiare i campi
Catturi due campi e li riordini nella sostituzione per trasformare i formati dei dati.
echo "Doe, John" | sed -E "s/(\w+), (\w+)/\2 \1/"Il concetto di gruppo non catturante
A volte si raggruppa solo per applicare un quantificatore, non per catturare. In PCRE può scrivere (?:...) per evitare la numerazione.
# PCRE only (grep -P):
echo "abcabc" | grep -P "(?:abc){2}"Alternanza all'interno dei gruppi
Combini i gruppi con l'alternanza | per trovare una delle varie opzioni continuando a catturare il risultato.
echo "cat dog fish" | grep -oE "(cat|dog)"Quantificare un gruppo
Applichi i quantificatori a un gruppo intero per ripetere un modello. (ab)+ corrisponde a una o più sequenze ab.
echo "ababab" | grep -oE "(ab)+"Catturare con awk
awk usa match() con RSTART e RLENGTH per estrarre la porzione corrispondente.
echo "id=42" | awk "{ if (match(\$0, /id=[0-9]+/)) print substr(\$0, RSTART, RLENGTH) }"Riformattazione pratica
I gruppi di cattura sono particolarmente utili per riformattare i log o le colonne CSV in un nuovo layout in un unico passaggio.
echo "John,30,NYC" | sed -E "s/([^,]+),([^,]+),([^,]+)/Name: \1 Age: \2 City: \3/"Verifica rapida
Verifichi la Sua conoscenza dei gruppi di cattura.
Riepilogo
Ha acquisito padronanza dei gruppi di cattura:
- Le parentesi catturano e numerano il testo corrispondente
- I riferimenti all'indietro
\1corrispondono nuovamente allo stesso testo - In
sed, riutilizzi i gruppi nelle sostituzioni per riordinare i campi - Quantifichi e alterni gli elementi all'interno dei gruppi per creare modelli flessibili
Domande Frequenti
La lezione «Gruppi di cattura, backreference e sostituzione» è gratuita?
Sì — il testo completo di «Gruppi di cattura, backreference e sostituzione» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Linux Command Line & Bash Scripting Mastery, passa a CoddyKit PRO. Il corso Linux Command Line & Bash Scripting Mastery include 4 lezioni in totale.
Cosa imparerò in «Gruppi di cattura, backreference e sostituzione»?
Utilizzi le parentesi per catturare parti di una corrispondenza e riutilizzarle con le backreference, ottenendo un potente strumento per il matching e la sostituzione del testo. Eserciti Linux Command Line & Bash Scripting Mastery con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Linux Command Line & Bash Scripting Mastery?
Non è richiesta alcuna esperienza precedente. Linux Command Line & Bash Scripting Mastery su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Gruppi di cattura, backreference e sostituzione»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Linux Command Line & Bash Scripting Mastery?
Sì. Ogni lezione Linux Command Line & Bash Scripting Mastery include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Introduzione alle espressioni regolari (Regex)
- Grep avanzato con le espressioni regolari
- Combinare le espressioni regolari con sed/awk
- Gruppi di cattura, backreference e sostituzione