Pitone

Espressioni regolari in Python

Espressioni regolari in Python
In questo articolo, daremo una breve occhiata alle espressioni regolari in Python. Lavoreremo su funzioni integrate con esempi seguiti da una tabella che spiega cosa significa ogni carattere nell'espressione regolare per una migliore comprensione.

Che cos'è un'espressione regolare?

Prima di passare agli esempi pratici, dobbiamo sapere che cos'è realmente un'espressione regolare. Un'espressione regolare è una sequenza di caratteri che definisce la struttura di un input o di un modello di ricerca. Immagina di inserire un'e-mail o una password su un sito Web casuale come Facebook, Twitter o Microsoft. Prova a metterlo male e per sbagliato intendo provare ad andare contro la loro convenzione. Ti indicherà chiaramente quegli errori. Non ti sarà permesso di andare al passaggio successivo finché il tuo input non corrisponde allo schema che hanno impostato nel backend back. Quel modello specifico, che ti impedisce di inserire qualsiasi tipo di informazione aggiuntiva o irrilevante, è noto come regex o espressione regolare.

Espressioni regolari in Python

Le espressioni regolari non giocano un ruolo diverso in Python come in altri linguaggi di programmazione. Python contiene il modulo ri che fornisce pieno supporto per l'uso delle espressioni regolari. Ogni volta che viene inserita un'informazione inadatta o non confrontabile o si verifica qualsiasi tipo di errore, questo ri il modulo lo catturerà come un'eccezione che alla fine aiuta a risolvere i problemi richiesti.

Modelli di espressioni regolari

Sono disponibili molti caratteri scritti in una sequenza che crea uno specifico modello di espressione regolare. Tranne i caratteri di controllo, (+ ? . * ^ $ ( ) [ ] | \), tutti i personaggi corrispondono a se stessi. Tuttavia, è possibile eseguire l'escape dei caratteri di controllo prescrivendo una barra rovesciata.

Di seguito è riportata una tabella che consiste in un modello e una descrizione sul loro funzionamento in python.

Modello Descrizione
[Pp]ython Abbina "Pitone" o "Pitone"
vasca[Ee] Abbina "TubE" o "Tube"
[aeio] Abbina qualsiasi vocale minuscola
[0-9] Abbina qualsiasi cifra tra 0 e 9
[a-z] Abbina qualsiasi lettera ASCII minuscola
[A-Z] Abbina qualsiasi lettera ASCII maiuscola
[a-zA-Z0-9] Abbina qualsiasi lettera ASCII minuscola e maiuscola
o una cifra tra 0 e 9
[^aiou] Abbina qualsiasi cosa ma non le vocali minuscole
[^0-9] Abbina qualsiasi cosa ma non la cifra
. Abbina qualsiasi carattere tranne la nuova riga
\d Trova qualsiasi cifra: [0-9]
\D Trova una non cifra: [^0-9]
\S Abbina gli spazi bianchi
\S Abbina spazi non bianchi
\UN Corrispondenza all'inizio della stringa
\Z Abbina fine stringa
\w Abbina i caratteri delle parole
\W Abbina caratteri non verbali
[…] Abbina qualsiasi singolo carattere tra parentesi
[^… ] Trova qualsiasi singolo carattere non tra parentesi
$ Abbina la fine della riga
^ Abbina l'inizio della riga

Funzioni di corrispondenza e ricerca in Python

Ora, qui vedremo due esempi con le due funzioni integrate che esistono in python. Uno è la corrispondenza e l'altro è la funzione di ricerca. Entrambi prendono gli stessi parametri che sono i seguenti:

Prima di passare alla parte di esempio, ecco un'altra cosa che devi sapere. È possibile utilizzare due metodi per ottenere gruppi corrispondenti che sono i seguenti:

Quello che succede è che quando vengono utilizzate le funzioni di corrispondenza o ricerca, crea sottogruppi di tutti i modelli correlati trovati nelle stringhe e li struttura in posizioni a partire da 0. Guarda l'esempio qui sotto per avere un'idea migliore.

Funzione di corrispondenza (esempio)

Nell'esempio seguente, abbiamo preso una lista in cui abbiamo usato un'espressione regolare che controlla le parole che iniziano con la lettera 'a' e selezionerà solo se entrambe le parole iniziano con la stessa lettera i.e.: 'un'.

importare re
arraylist = [“affetto affetto”, “atto affettivo”, “programmazione affettivo”]
per elemento in arraylist:
k = re.match(“(a\w+)\W(g\w+)”, elemento)
se k:
print((z.gruppi()))

Produzione:

('affetto', 'affetto')
('affetto', 'atto')

Il terzo elemento nell'elenco non verrà considerato in quanto non corrisponde alla regex che dice che entrambe le parole dovrebbero iniziare con "a".

Funzione di ricerca (esempio)

Questa funzione è diversa da match. La ricerca esegue la scansione dell'intera frase mentre la corrispondenza no. Nell'esempio seguente, il metodo di ricerca ha esito positivo ma la funzione di corrispondenza no.

importare re
Input = “DocumentazioneNuovo”
v = re.cerca(“(ta.*)”, Ingresso)
se v:
print(“risultato: ” v.gruppo 1))

Produzione:

risultato: tationNew

'ta.*' significa qualsiasi cosa dopo 'ta' che ci dà il nostro risultato come 'tationNew' dall'input cercato "DocumentationNew".

Conclusione

Le espressioni regolari sono fondamentali per tutti gli sviluppatori di software e ora puoi vedere facilmente come utilizzare le espressioni regolari nel linguaggio di programmazione Python.

Rimappa i pulsanti del mouse in modo diverso per software diversi con X-Mouse Button Control
Forse hai bisogno di uno strumento che possa cambiare il controllo del tuo mouse con ogni applicazione che utilizzi. In questo caso, puoi provare un'a...
Recensione del mouse wireless Microsoft Sculpt Touch
Ho letto di recente del Microsoft Scolpisci il tocco mouse wireless e ho deciso di acquistarlo. Dopo averlo usato per un po', ho deciso di condividere...
Trackpad e puntatore del mouse su schermo AppyMouse per tablet Windows
Gli utenti di tablet spesso mancano il puntatore del mouse, soprattutto quando sono abituati a usare i laptop laptop. Gli smartphone e i tablet touchs...