|
|
Parte precedente | Parte successiva | Indice degli articoli |
Let's Do It!Passiamo ora all'utilizzo pratico di ciò che abbiamo appreso. Le RE si possono compilare in oggetti istanza tramite compile(), che ha come argomenti il pattern ed eventuali opzioni di compilazione opzionali.Le Opzioni di CompilazioneLe opzioni di compilazione permettono di modificare alcuni aspetti del funzionamento delle RE. Possono essere indicati con un nome esteso o con un'abbreviazione costituita da una sola lettera.Eccone un elenco (tra parentesi l'abbreviazione):
Si veda la Library Reference per maggiori dettagli. I Metodi disponibili per la RicercaInnanzitutto non è necessario compilare le RE: il modulo re fornisce anche le funzioni corrispettive dei metodi (in effetti tali funzioni non fanno altro che compilare la RE e chiamare i metodi corrispondenti). Vale la pena di usare direttamente le funzioni solo nel caso si tratti di RE isolate e non ripetute (tra l'altro le RE usate in tal modo vengono tenute in una cache in modo da non dover essere ricompilate al volo alla prossima invocazione). Di solito è molto più comodo e pulito costruire l'oggetto istanza tramite compile.I metodi principali sono match e search. In cosa si differenziano?
Altri MetodiSi veda la Library Reference per informazioni complete!
Qualche esempio val più di mille parole: >>> import re >>> pat = re.compile('[a-z]*[1-3]+') >>> print pat <SRE_Pattern object at 7d7ce4>si noti che non è più il RegexObject citato nell'HOWTO, che si potrebbe ancora ottenere importando pre >>> stringa = "a12" >>> risultato = pat.match(stringa) >>> print risultato <SRE_Match object at b0a590> >>> print risultato.group() a12 >>>group è un metodo di MatchObject che restituisce in questo caso la stringa che corrisponde al pattern, in realtà le cose sono più complesse, si veda la Library Reference per i gruppi e le relative notazioni. To be continued! |
Parte precedente | Parte successiva | Indice degli articoli |