Come creare un'espressione regolare in Python

September 12

Ricerca di modelli in testo può rivelarsi utile in un'ampia varietà di compiti. Con le espressioni regolari, è possibile sfruttare Python per fare altrimenti in termini di tempo e le attività sui dati massaggiare noiosi semplice da completare. Python supporta esteso le espressioni regolari, il che significa che è possibile ottenere una funzionalità simile a Perl o motori di espressioni regolari PHP PCRE.

istruzione

Compilare l'espressione

1 Importare il modulo di espressione regolare nel codice Python con l'aggiunta di "importare re" nella parte superiore del codice.

2 Creare un oggetto espressione regolare utilizzando il metodo re.compile:
myregex = re.compile("my\wexample\wregex")

3 Passare un secondo argomento opzionale per re.compile che indica i modificatori per l'espressione regolare. Ad esempio, se si desidera rendere il vostro incontro espressione regolare su più righe e di essere case insensitive, è possibile compilare l'espressione del tipo:
myregex = re.compile('my\wexample\wregex', 're.IGNORECASE | re.MULTILINE')

Ricerca

4 Creare una variabile che memorizza i risultati della vostra espressione regolare compilata. Usa la tua espressione regolare compilata per cercare una stringa e assegnare i risultati:
results = myregex.search('use my example regex to search this string')

5 Utilizzare la variabile oggetto partita e utilizzare l'avvio () per trovare l'inizio della prima occorrenza della espressione regolare:
print results.start()
>> 3

6 Utilizzare la funzione end () per trovare la fine della prima occorrenza della espressione regolare:
print results.end()
>> 21

7 Utilizzare la funzione di gruppo () per trovare la stringa che ha trovato l'espressione regolare:
print results.group()
>>> my example regex

Sostituire

8 Utilizzare l'espressione regolare per eseguire una sostituzione nella stringa utilizzando la routine re.sub, se necessario.

9 Creare una nuova variabile stringa per contenere i risultati della sostituzione. Il primo argomento è il testo di sostituzione, e il secondo argomento è la stringa da abbinare su:
newstring = myregex.sub('kung fu', 'use my example regex to regex this string')
print newstring
>>> use my kung fu to regex this string

Consigli e avvertenze

  • L'espressione regolare Python Come contiene una solida introduzione sul processo di lavorare con le espressioni regolari in qualsiasi lingua, così come la documentazione completa su tutti i principali routine regex e modificatori (vedi Risorse).
  • Python espressioni regolari non corrispondono direttamente sul token Unicode. Tuttavia, è possibile utilizzare la notazione multi-byte \ uFFFF per eseguire Unicode partite.