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 DevOps Bootcamp 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 DevOps Bootcamp, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso DevOps Bootcamp 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 DevOps Bootcamp, passa a CoddyKit PRO. Il corso DevOps Bootcamp 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 DevOps Bootcamp 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 DevOps Bootcamp?
Non è richiesta alcuna esperienza precedente. DevOps Bootcamp 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 DevOps Bootcamp?
Sì. Ogni lezione DevOps Bootcamp 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