Escape dei metacaratteri
Lezione 22 di 28 del corso Espressioni regolari in Python di Coddy.
Nelle regex, alcuni caratteri hanno significati speciali. Per trovare corrispondenze letterali di questi caratteri, devi «eseguirne l’escape» anteponendo loro una barra rovesciata \. Ecco alcuni metacaratteri comuni di cui è necessario eseguire l’escape:
.: Corrisponde a qualsiasi carattere tranne il carattere di nuova riga.*: Corrisponde a 0 o più ripetizioni dell’elemento precedente.+: Corrisponde a 1 o più ripetizioni dell’elemento precedente.?: Corrisponde a 0 o 1 ripetizione dell’elemento precedente.^: Corrisponde all’inizio di una stringa.$: Corrisponde alla fine di una stringa.|: Funziona come operatore OR.(): Raggruppa i pattern.[]: Crea una classe di caratteri.{}: Specifica le ripetizioni.
import re
text = "The price is $5.99"
pattern = r"\$5\.99"
matches = re.findall(pattern, text)
print(matches) # Risultato: ['$5.99']Nell’esempio precedente, il pattern \$5\.99 corrisponde alla stringa letterale "$5.99". I caratteri $ e . sono sottoposti a escape per corrispondere letteralmente.
Provalo tu
Questa lezione non include una sfida di codice.
Tutte le lezioni di Espressioni regolari in Python
1Introduzione
Introduzione3Sintassi di base dei pattern
Metacaratteri di baseLetteraliClassi di caratteriIntervalliClassi predefinite comuniClassi predefinite avanzateEsercitati da solo: Compilatore Python online