Il modulo definisce le seguenti funzioni e costanti, e un'eccezione:
pattern[, flags]) |
Il comportamento dell'espressione può venire modificato
specificando un valore per il campo flags. I valori possono
essere uno delle seguenti variabili, combinate usando l'OR bit per
bit (l'operatore |
).
La sequenza:
prog = re.compile(pat) result = prog.match(str)
è equivalente a
result = re.match(pat, str)
ma la versione che utilizza compile() è più efficiente quando l'espressione verrà usata più di una volta in un singolo programma.
pattern, string[, flags]) |
None
se nessuna posizione della stringa corrisponde al modello;
notate che questo è diverso dal trovare una corrispondenza di
lunghezza zero in qualche punto della stringa.
pattern, string[, flags]) |
None
se la stringa non corrisponde al modello; notate che
questo è differente rispetto ad una corrispondenza di lunghezza zero.
Note: Se volete localizzare una corrispondenza ovunque nella string, utilizzate search().
pattern, string[, maxsplit = 0 ]) |
>>> re.split('\W+', 'Parole, parole, parole.') ['Parole', 'parole', 'parole', ''] >>> re.split('(\W+)', 'Parole, parole, parole.') ['Parole', ', ', 'parole', ', ', 'parole', '.', ''] >>> re.split('\W+', 'Parole, parole, parole.', 1) ['Parole', 'parole, parole.']
Questa funzione combina ed estende le funzionalità delle vecchie regsub.split() e regsub.splitx().
pattern, string) |
pattern, string) |
pattern, repl, string[, count]) |
>>> re.sub(r'def\s+([a-zA-Z_][a-zA-Z_0-9]*)\s*\(\s*\):', ... r'static PyObject*\npy_\1(void)\n{', ... 'def myfunc():') 'static PyObject*\npy_myfunc(void)\n{'
Se repl è una funzione, viene chiamata per ogni occorrenza (senza sovrapposizioni) del pattern. La funzione prende un singolo oggetto corrispondente come argomento, e restituisce la stringa sostitutiva. Per esempio:
>>> def dashrepl(matchobj): .... if matchobj.group(0) == '-': return ' ' .... else: return '-' >>> re.sub('-{1,2}', dashrepl, 'pro----gram-files') 'pro--gram files'
Il modello può essere una stringa o un oggetto RE; se necessitate di
specificare opzioni delle espressioni regolari, dovete usare un
oggetto RE o utilizzare i modificatori integrati nel modello; per
esempio
"sub("(?i)b+", "x", "bbbb BBBB")" returns 'x x'
.
L'argomento facoltativo count indica il massimo numero di
occorrenze del modello che devono venire sostituite; count
deve essere un intero non negativo. Se omesso o zero, tutte le
occorrenze verranno sostituite. Le corrispondenze vuote per il
modello vengono sostituite solo quando non adiacenti ad una
corrispondenza precedente, così "sub('x*', '-', 'abc')"
restituisce '-a-b-c-'
.
In aggiunta ai caratteri di escape e ai backreference come descritti sopra, "\g<name>" utilizzerà la sotto stringa che corrisposta dal gruppo chiamato "name", come definito dalla sintassi (?P<name>...). "\g<number>" utilizza il corrispondente numero del gruppo; "\g<2>" è quindi equivalente a "\2", ma non è ambiguo in una sostituzione come "\g<2>0". "\20" verrebbe interpretato come un riferimento al gruppo 20, non come un riferimento al gruppo 2 seguito dalla costante carattere "0". Il backreference "\g<0>" sostituisce l'intera sotto stringa che corrisponde all'espressione regolare.
pattern, repl, string[, count]) |
(new_string, number_of_subst_made)
.
string) |
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.