Introduzione a Python Regex

Oggi Python è la parola d'ordine nel settore tecnologico. È una lingua che sta guadagnando popolarità rapidamente. È un linguaggio molto dinamico e può essere utilizzato per creare applicazioni Web per algoritmi di machine learning. In questo articolo, impareremo come viene usato Regex in Python. Una regex è una breve forma di espressione regolare ed è fondamentalmente una sequenza di caratteri che può essere utilizzata come modello. La cosa buona è che Python ha il suo pacchetto Regex integrato noto come re.

Sintassi:

Comprenderemo la sintassi con un esempio. Nell'esempio per questo possiamo cercare una stringa per vedere se inizia con "He" e termina con "smart".

import reword = "He is very smart"
x =re.search("^He.*smart$", word)
print(x)

Se osservi la sintassi è molto semplice, devi prima importare il pacchetto regex che è re e quindi utilizzare una qualsiasi delle funzioni del pacchetto importato secondo le tue esigenze. Se eseguiamo il codice di esempio sopra riportato in Jupyter otteniamo il risultato seguente.

Funzioni Regex in Python

Esistono molte funzioni regex che ci aiutano a cercare una stringa per una corrispondenza. Prima di ciò, impareremo prima i personaggi che generalmente vediamo in una funzione regex.

()

Rappresenta un insieme di personaggi.

.

Rappresenta qualsiasi personaggio tranne una nuova riga.

*

Rappresenta zero o più occorrenze.

+

Rappresenta una o più occorrenze.

^

Rappresenta il personaggio iniziale

$

Rappresenta il personaggio finale.

|

Rappresenta o-o.

()

Rappresenta la cattura e il gruppo.

\

È generalmente usato per sfuggire a personaggi speciali

Regex ha anche alcune sequenze speciali che saranno utili per conoscere ad esempio:

\ w

Mostra una corrispondenza se la stringa ha una serie di caratteri di parole tra (0-9), AZ o az e trattino basso.

\ W

Restituisce una corrispondenza se la stringa non contiene caratteri di parole.

\ d

Questi ritorni corrispondono quando ci sono cifre nella stringa.

\ D

È opposto al precedente poiché restituisce la corrispondenza se non sono presenti cifre nella stringa.

\S

Viene utilizzato per verificare la presenza di spazi vuoti in una stringa. Restituisce la corrispondenza se sono presenti caratteri di spazi bianchi.

\S

Restituisce la corrispondenza quando non ci sono spazi bianchi nella stringa.

Funzioni utilizzate per le operazioni Regex

Vediamo varie funzioni del modulo re che possono essere usate per operazioni regex in python.

1. Funzione findall (): questa funzione è presente nel modulo re. Restituisce un elenco di tutte le corrispondenze presenti nella stringa. Iterate da sinistra a destra attraverso la stringa. Le partite vengono inoltre restituite nello stesso identico ordine di ricerca. Ne faremo un esempio. Supponiamo di voler trovare tutte le cifre presenti in una stringa. Per questo, useremo la funzione findall () in cui troveremo tutte le cifre presenti nella stringa. Vediamo ora il codice per questo:

Codice:

import re
word = "Raju is 22 years old and his mobile number last three-digit is 789"
rgex ='\d+'
x =re.findall(rgex, word)
print(x)

Se passiamo attraverso il codice, in pratica ci viene assegnata la parola variabile con una stringa contenente cifre e quindi passando il simbolo regex appropriato per le cifre insieme alla parola variabile come argomenti nella funzione findall ()

Ora, vediamo l'output.

Come puoi vedere, otteniamo un elenco di numeri come risultato.

2. Funzione search (): la funzione di ricerca viene utilizzata per cercare schemi in una stringa e se viene trovata una corrispondenza restituisce l'oggetto. Qui una cosa che dobbiamo ricordare è se c'è più di una corrispondenza, quindi restituisce solo la prima occorrenza. Se non viene trovata alcuna corrispondenza, non ne viene restituita alcuna. Vedremo un esempio per questo supponiamo che se vogliamo trovare la stringa che inizia con una parola particolare. Testeremo i casi di corrispondenza sia positivi che negativi. Vediamo il codice per lo stesso.

Codice:

import re
word = "Raju is 22 years old"
rgex ='^Raju'
x =re.search(rgex, word)
print(x)
regex1= '^Mohan'
x1 = re.search(regex1, word)
print(x1)

Qui la variabile 'regex' viene utilizzata in uno scenario positivo e la variabile 'regex1' per uno scenario negativo. Ora vedi l'output.

Nel primo caso, l'oggetto restituito viene restituito, mentre nel secondo caso viene restituito "Nessuno".

3. Funzione Split (): questa funzione divide la stringa dopo ogni corrispondenza, il che significa che non appena c'è una corrispondenza nella stringa, questa funzione divide la stringa da lì. Quindi, se ci sono tre partite, allora ci saranno tre divisioni. Vedremo un esempio. Supponiamo di voler dividere una stringa dopo ogni spazio. Quindi possiamo usare questa funzione divisa per un buon uso in quella situazione.

Codice:

import re
word = "Raju is 22 years old"
rgex ='\s'
x =re.split(rgex, word)
print(x)

Qui i motivi rappresentano il carattere dello spazio bianco. Ora vediamo l'output.

Come puoi vedere nell'output, la stringa viene suddivisa dopo ogni spazio.

4. Funzione sub (): questa funzione sostituisce le corrispondenze con la stringa o il carattere di scelta dell'utente. Fondamentalmente significa che se c'è una corrispondenza nella stringa sostituirà quel carattere o stringa corrispondente con la tua stringa o carattere e restituirà la stringa modificata. Ci vogliono tre argomenti. Ad esempio, sostituiremo semplicemente lo spazio bianco con '&' nella nostra stringa.

Codice:

import re
word = "Raju is 22 years old"
rgex ='\s'
x =re.sub(rgex, '&', word)
print(x)

Ora diamo un'occhiata all'output per il codice sopra.

Come puoi vedere, tutti gli spazi sono stati sostituiti da '&'.

Conclusione

In questo articolo, abbiamo discusso del modulo regex e delle sue varie funzioni integrate in Python. Regex è molto importante ed è ampiamente utilizzato in vari linguaggi di programmazione.

Articoli consigliati

Questa è una guida a Python Regex. Qui discutiamo l'introduzione a Python Regex e alcune importanti funzioni regex insieme a un esempio. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più–

  1. Mentre Loop in Python
  2. Numero inverso in Python
  3. Parole chiave di Python
  4. Set di Python
  5. Parole chiave PHP
  6. Parole chiave C ++

Categoria: