4.2 re -- Operazioni con le espressioni regolari

Questo modulo fornisce operazioni per la corrispondenza delle espressioni regolari simile a quelle utilizzate in Perl. Le stringhe utilizzate come modello per le espressioni regolari non possono contenere byte nulli, ma possono specificarli usando la notazione \number. Sia i modelli che le stringhe da ricercare possono essere sia stringhe Unicode che stringhe a 8-bit. Il modulo re è sempre disponibile.

Le espressioni regolari usano il carattere backslash ("\") per indicare le forme speciali o per permettere che i caratteri speciali vengano utilizzati senza invocare il loro significato speciale. Questo coincide con l'utilizzo di Python degli stessi caratteri per gli stessi scopi nelle stringhe costanti; per esempio, per far corrispondere una costante backslash, bisogna scrivere '\\\\' come modello, perché l'espressione regolare deve essere "\\" e ogni backslash deve essere rappresentato come "\\" in una stringa costante in Python.

La soluzione è quella di utilizzare la notazione Python per le stringhe raw nei modelli delle espressioni regolari; i backslash non vengono gestiti in nessun modo speciale in una stringa costante avente il prefisso "r". Perciò r"\n" è una stringa di due caratteri che contiene "\" e "n", mentre "\n" è una stringa di un carattere che contiene un carattere di fine riga. Normalmente i modelli vengono espressi in codice Python usando questa notazione per le stringhe raw.

Vedete anche:

Mastering Regular Expressions
Un libro di Jeffrey Friedl sulle espressioni regolari, pubblicato da O'Reilly. La seconda edizione di questo libro non copre più Python, ma la prima edizione trattava in dettaglio la scrittura di buoni modelli di espressioni regolari.



Subsections
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.