Introduzione alle espressioni regolari (Regex)
Comprenda la sintassi e i concetti fondamentali delle espressioni regolari per eseguire potenti ricerche basate su pattern testuali.
Introduzione alle espressioni regolari (Regex) è una lezione DevOps Bootcamp gratuita su CoddyKit. Questa è la lezione 1 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 le espressioni regolari?
Le espressioni regolari, spesso abbreviate in Regex, sono pattern potenti usati per cercare e manipolare il testo.
Le si può immaginare come termini di ricerca estremamente potenti, in grado di trovare sequenze o caratteri specifici e persino posizioni all'interno del testo.
Vengono usate ampiamente nella programmazione, negli script e in strumenti da riga di comando Linux come grep, sed e awk.
Corrispondenza dei caratteri letterali
La regex più semplice cerca caratteri letterali esatti. Se cerca "apple", troverà esattamente "apple".
Usiamo il comando grep (Global Regular Expression Print) per dimostrare questa corrispondenza di base.
echo "apple" > fruits.txt
echo "banana" >> fruits.txt
echo "pineapple" >> fruits.txt
grep "apple" fruits.txt
rm fruits.txtIl punto: qualsiasi singolo carattere
Il punto (.) è un carattere speciale che corrisponde a qualsiasi singolo carattere, tranne il carattere di nuova riga.
È come un carattere jolly per una posizione. Ad esempio, c.t corrisponderebbe a "cat", "cot" o "cut".
echo "cat" > words.txt
echo "cot" >> words.txt
echo "cut" >> words.txt
echo "coat" >> words.txt
grep "c.t" words.txt
rm words.txtAsterisco: zero o più (*)
L'asterisco (*) è un quantificatore che corrisponde a zero o più occorrenze del carattere o del gruppo che lo precede immediatamente.
Ad esempio, colou*r corrisponderebbe a "color" (zero caratteri 'u') e "colour" (un carattere 'u').
echo "color" > spellings.txt
echo "colour" >> spellings.txt
echo "colouuur" >> spellings.txt
echo "cold" >> spellings.txt
grep "colou*r" spellings.txt
rm spellings.txtSegno più: una o più (+)
Il segno più (+) corrisponde a una o più occorrenze del carattere o del gruppo precedente.
A differenza di *, l'elemento deve comparire almeno una volta. Quindi, go+gle corrisponderebbe a "google" e "gooogle", ma non a "ggle".
Nota: affinché +, ? e {} funzionino direttamente con grep, spesso è necessario usare l'opzione -E per le espressioni regolari estese.
echo "google" > search.txt
echo "goooogle" >> search.txt
echo "ggle" >> search.txt
grep -E "go+gle" search.txt
rm search.txtPunto interrogativo: zero o una (?)
Il punto interrogativo (?) corrisponde a zero o una occorrenza del carattere o del gruppo precedente.
Rende facoltativo un carattere. Ad esempio, colou?r corrisponderebbe a "color" (zero caratteri 'u') e "colour" (un carattere 'u').
echo "color" >> spellings.txt
echo "colour" >> spellings.txt
echo "colouuur" >> spellings.txt
grep -E "colou?r" spellings.txt
rm spellings.txtAncore: inizio (^) e fine ($)
Le ancore non corrispondono ai caratteri, ma a posizioni specifiche nel testo.
^corrisponde all'inizio di una riga.$corrisponde alla fine di una riga.
Esempio: ^apple corrisponde a "apple" solo se si trova all'inizio di una riga. apple$ corrisponde a "apple" solo se si trova alla fine.
echo "apple pie" > menu.txt
echo "fresh apple" >> menu.txt
echo "apple" >> menu.txt
grep -E "^apple" menu.txt
grep -E "apple$" menu.txt
rm menu.txtClassi di caratteri: parentesi quadre ([])
Le parentesi quadre ([]) definiscono una classe di caratteri, facendo corrispondere qualsiasi singolo carattere dell'insieme.
[aeiou]corrisponde a qualsiasi singola vocale.[0-9]corrisponde a qualsiasi singola cifra.[a-zA-Z]corrisponde a qualsiasi singola lettera.
È anche possibile negare una classe con [^...]; ad esempio, [^aeiou] corrisponde a qualsiasi carattere che NON sia una vocale.
echo "cat" > animals.txt
echo "bat" >> animals.txt
echo "rat" >> animals.txt
echo "cot" >> animals.txt
grep -E "[cb]at" animals.txt
grep -E "[^cbr]at" animals.txt
rm animals.txtQuantificatori: parentesi graffe ({})
Le parentesi graffe ({}) sono quantificatori che specificano il numero esatto di ripetizioni del carattere o del gruppo precedente.
a{3}corrisponde a "aaa"a{2,}corrisponde a "aa", "aaa", "aaaa" ecc. (almeno 2)a{2,4}corrisponde a "aa", "aaa", "aaaa" (tra 2 e 4)
Ricordi di usare grep -E per questi quantificatori.
echo "helllo" > greetings.txt
echo "hello" >> greetings.txt
echo "helo" >> greetings.txt
grep -E "hel{2,3}o" greetings.txt
rm greetings.txtVerifica rapida sulle regex
Consideri queste stringhe:
bananabanaanabanaananabna
Quale espressione regolare corrisponderebbe solo a "banana" e "banaana"?
Riepilogo delle basi delle regex
Ha imparato i fondamenti delle espressioni regolari!
- Le regex usano schemi per cercare e manipolare il testo.
- I caratteri letterali corrispondono a se stessi.
- I caratteri speciali come
.,*,+,?,^,$,[]e{}offrono potenti funzionalità di ricerca.
Ora applicherà questi schemi alla ricerca avanzata nel testo con il comando grep e le sue varie opzioni.
Impara DevOps Bootcamp con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 142
- Lezioni
- 568
Domande Frequenti
La lezione «Introduzione alle espressioni regolari (Regex)» è gratuita?
Sì — il testo completo di «Introduzione alle espressioni regolari (Regex)» è 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 «Introduzione alle espressioni regolari (Regex)»?
Comprenda la sintassi e i concetti fondamentali delle espressioni regolari per eseguire potenti ricerche basate su pattern testuali. 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 1 di 4.
Quanto tempo richiede la lezione «Introduzione alle espressioni regolari (Regex)»?
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