Esempi di regex Python

Esempi Di Regex Python



La forma completa di regex è l'espressione regolare. È una caratteristica importante di qualsiasi linguaggio di programmazione. È un modello di stringa utilizzato per abbinare, cercare o sostituire le stringhe in un valore di stringa. Il modello regex può essere utilizzato nello script Python utilizzando il modulo “re” di Python. Questo modulo ha molti tipi di funzioni per eseguire diverse operazioni sulle stringhe. Diversi metacaratteri e sequenze speciali vengono utilizzati per definire i modelli regex per cercare o sostituire le attività. Gli scopi dell'utilizzo di alcuni metacaratteri, sequenze speciali e metodi regex comunemente utilizzati nello script Python sono mostrati in questo tutorial.

Alcuni metacaratteri comunemente usati nelle regex:









Caratteri Scopo
'+' Viene utilizzato per trovare la corrispondenza con una o più occorrenze di un particolare carattere in una stringa.
'*' Viene utilizzato per trovare la corrispondenza con zero o più occorrenze di un particolare carattere in una stringa.
'?' Viene utilizzato per trovare la corrispondenza con zero o una occorrenza di un particolare carattere in una stringa.
'^' Viene utilizzato per abbinare il carattere o la stringa particolare all'inizio della stringa.
'$' Viene utilizzato per abbinare il carattere o la stringa particolare alla fine della stringa.
'|' Viene utilizzato per abbinare una qualsiasi delle più stringhe in una stringa. Funziona come la logica OR.
‘[]’ Viene utilizzato per abbinare un intervallo di caratteri.
'{}' Viene utilizzato per corrispondere a un numero specifico di caratteri.



Alcune sequenze speciali comunemente usate nelle espressioni regolari:





Sequenze Scopo
'\UN' Viene utilizzato per abbinare il carattere particolare all'inizio della stringa. Funziona come il carattere “^”.
‘\b’, ‘\B’ '\b' viene utilizzato per corrispondere alla stringa che contiene il particolare carattere o parola all'inizio o alla fine della stringa. La “\B” funziona in modo opposto a “\b”.
‘\d’, ‘\D’ '\d' viene utilizzato per corrispondere al numero decimale nella stringa simile a '[0-9]'. La “\D” funziona in modo opposto a “\d”.
‘\s’, ‘\S’ '\s' viene utilizzato per corrispondere allo spazio bianco nella stringa simile a '[\n\t\r\v]'. La “\S” funziona in modo opposto a “\s”.
‘\w’, ‘\W’ '\w' viene utilizzato per abbinare i caratteri alfabetici e numerici nella stringa. La “\W” funziona in modo opposto a “\w”.
'\CON' Viene utilizzato per abbinare il carattere particolare alla fine della stringa. Funziona come il carattere '$'.

Esempio 1: abbinare la stringa utilizzando la funzione Match()

La funzione match() viene utilizzata per trovare la corrispondenza con un modello regex all'inizio della stringa. La sintassi di questa funzione è la seguente:



Sintassi:

ri.abbinamento ( modello, stringa, bandiere = 0 )

Qui, il primo argomento viene utilizzato per definire il modello regex. Il secondo argomento viene utilizzato per definire la stringa principale. Il terzo argomento è facoltativo e viene utilizzato per definire diversi tipi di flag.

Crea un file Python con il seguente script che corrisponde a un modello regex con una stringa definita utilizzando la funzione match(). Innanzitutto, per la corrispondenza viene utilizzato un modello regex definito. Successivamente, una parola di ricerca viene presa dall'utente e utilizzata come modello regex per corrispondere al valore della stringa. Se viene trovata una corrispondenza, viene stampata la parola di ricerca. Altrimenti viene stampata la stringa “Nessun valore corrispondente trovato”.

#Importa il modulo necessario
importare ri

#Definire la funzione per stampare il risultato corrispondente
def Corrispondenza ( ) :
#Controlla il valore restituito dalla funzione match()
Se insieme a ! = Nessuno:
stampa ( ''' + gruppo mat ( ) + '' si trova in '' +strValore + ''' )
altro:
stampa ( 'Nessun valore corrispondente trovato.' )

#Definire il valore della stringa
strValore = 'Il primo che entra è il primo ad uscire.'
#Abbina la corda in base al modello
mat = ri.abbinamento ( '^Primo' , strValore )
#Richiama la funzione per stampare il risultato della partita
matchString ( )

#Prendi la stringa di ricerca
inValore = input ( 'Inserisci il valore di ricerca: ' )
mat = ri.abbinamento ( inValore +, strValore )
#Richiama la funzione per stampare il risultato della partita
matchString ( )

Per il “primo” valore di input viene visualizzato il seguente output:

Esempio 2: trovare la stringa utilizzando la funzione Findall()

La funzione findall() viene utilizzata per restituire tutte le parole corrispondenti trovate nella stringa principale come una tupla.

Sintassi:

re.findall ( modello, stringa, bandiere = 0 )

Qui, il primo argomento viene utilizzato per definire il modello regex. Il secondo argomento viene utilizzato per definire la stringa principale. Il terzo argomento è facoltativo e viene utilizzato per definire diversi tipi di flag.

Crea un file Python con lo script seguente che accetta un valore di stringa principale e un valore di stringa di ricerca dall'utente. Successivamente, utilizza la parola da cercare  nel modello regex per trovare la parola da cercare nella stringa principale. Il numero di corrispondenze totali viene stampato nell'output.

#Importa il modulo necessario
importare ri

#Prendi un valore stringa
inValore = input ( 'Inserisci una stringa: ' )

#Prendi una parola da cercare
srcValue = input ( 'Inserisci una parola da cercare: ' )

#Cerca la parola nella stringa
srcResult = re.findall ( srcValore + '\In*' , inValore )
#Stampa il risultato della ricerca
stampa ( 'La parola '' + valoresrc + '' si trova nella stringa '
+str ( soltanto ( srcRisultato ) ) + 'tempi.' )

Secondo l'output, la parola di ricerca 'mangiare' si trova due volte nella stringa principale 'Mangiamo per vivere e non viviamo per mangiare'.

Esempio 3: cercare la stringa utilizzando la funzione Search()

search() è un'altra funzione per cercare un modello particolare in un valore di stringa. Contiene gli stessi argomenti delle funzioni match() e findall(). Crea un file Python con il seguente script che cerca la parola 'Python' in un valore stringa che verrà preso dall'utente. Se la parola da cercare esiste nel valore di input, viene stampato un messaggio di successo. Altrimenti viene stampato un messaggio di errore.

#Importa il modulo
importare ri

#Prendi un valore stringa
inValore = input ( 'Inserisci una stringa: ' )
#Cerca la parola particolare nel valore della stringa
srcResult = ri.cerca ( R 'Pitone\w*' , inValore )

#Verifica che la parola di ricerca sia stata trovata o meno
Se srcRisultato:
stampa ( ''' + srcResult.gruppo ( ) + '' si trova in '' + inValore + ''' )
altro:
stampa ( 'La stringa di ricerca non è stata trovata.' )

Produzione:

Se la stringa di input è 'Mi piace la programmazione Python', viene visualizzato il seguente output:

Se la stringa di input è 'Mi piace la programmazione PHP', viene visualizzato il seguente output:

Esempio 4: sostituire la stringa utilizzando la funzione Sub()

La funzione sub() viene utilizzata per cercare una stringa particolare in base al modello e sostituirla con un'altra parola. La sintassi di questa funzione è la seguente:

Sintassi:

re.sub ( modello, sostituisci_stringa, stringa_principale )

Il primo argomento di questa funzione contiene il modello utilizzato per cercare la stringa specifica nella stringa principale.

Il secondo argomento di questa funzione contiene il valore della stringa 'sostituisci'.

Il terzo argomento di questa funzione contiene la stringa principale.

Questa funzione restituisce la stringa sostituita se esiste una parola corrispondente nella stringa principale in base al primo argomento.

Crea un file Python con il seguente script che cerca due cifre alla fine della stringa. Se la stringa contiene due cifre alla fine, le cifre vengono sostituite dalla stringa '$50'.

#Importa il modulo
importare ri

#Definisce la stringa principale
strValore = 'Il prezzo del libro è 70'

#Definire il modello di ricerca
modello = '[0-9]{2}'

#Definire il valore di sostituzione
sostituireValore = '$50'

#Cerca e sostituisci la stringa in base al modello
modificato_strValue = re.sub ( pattern, replaceValue, strValue )
#Stampa i valori della stringa originale e modificata
stampa ( 'Stringa originale: ' +strValore )
stampa ( 'Stringa modificata: ' + valore_str_modificato )

Produzione:

Ce n'erano 70 alla fine della corda principale. Quindi, 70 viene sostituito da $50 nella stringa sostituita.

Esempio 5: sostituire la stringa utilizzando la funzione Subn()

La funzione subn() funziona come la funzione sub(), tranne che restituisce l'output come una tupla in cui il primo indice contiene il valore sostituito e il secondo indice contiene il numero totale di corrispondenze.

Crea un file Python con il seguente script che cerca gli alfabeti dalla A alla L nella stringa 'LinuxHint.com' utilizzando la funzione subn():

#Importa il modulo
importare ri

#Definisce la stringa principale
strValore = 'LinuxHint.com'

#Definire il modello di ricerca
modello = '[AL]'

#Definire il valore di sostituzione
sostituireValore = '*'

#Cerca e sostituisci la stringa in base al modello
modificato_strValue = re.subn ( pattern, replaceValue, strValue )
#Stampa la stringa originale e l'output di subn()
stampa ( 'Stringa originale: \N ' +strValore )
stampa ( 'Output della funzione subn(): ' )
stampa ( valore_str_modificato )

Produzione:

Secondo il seguente output, i caratteri “L” e “H” vengono sostituiti dal carattere “*”.

Esempio 6: dividere la stringa utilizzando la funzione Split()

Crea un file Python con il seguente script che utilizza la funzione split() per dividere la stringa principale in più parti in base al modello regex:

#Importa il modulo
importare ri

#Definire il valore della stringa
strVal= 'Rupa Akter; Nira Chowdhury; Mazharul Islam'
#Definire il modello che verrà utilizzato per suddividere i dati
modello = '[^A-Za-z ]'
#Memorizza i valori suddivisi in un elenco
risultato_diviso = ri.dividi ( modello, strVal )
stampa ( 'Output della funzione split():' )
stampa ( risultato_diviso )

Produzione:

Secondo l'output, la stringa principale è divisa in tre parti in base al modello '[^A-Za-z ]' utilizzato nello script.

Conclusione

Lo scopo dei metacaratteri, degli intervalli e delle funzioni integrate Python più comunemente utilizzati per cercare, sostituire e dividere le stringhe è mostrato in questo tutorial utilizzando semplici script Python.