Sottostringa di estratto di Python usando Regex

Sottostringa di estratto di Python usando Regex

Ci possono essere diversi scenari di casi in cui è necessario estrarre una sottostringa da una stringa in Python. Ad esempio, mentre si lavora su set di dati di grandi dimensioni, potrebbe essere necessario ottenere dati specifici dai campi di testo o abbinare un modello particolare in una stringa, come un indirizzo e -mail o un numero di telefono. Inoltre, l'operazione di estrazione della sottostringa assiste anche nell'elaborazione e nell'analisi del testo.

Questo post coprirà i seguenti approcci:

  • Metodo 1: sottostringa di estratto di Python usando regex in “re.Search () "Metodo
  • Metodo 2: sottostringa di estratto di Python utilizzando Regex in “Re.match () "metodo
  • Metodo 3: sottostringa di estratto di Python usando regex in “re.Metodo findAll () "
  • Metodo 4: sottostringa di estratto di Python usando regex in “re.Findter () "Metodo

Metodo 1: sottostringa di estratto di Python usando regex in “re.Search () "Metodo

Il Python "Rif.ricerca()"Il metodo cerca la prima occorrenza dell'istanza del modello aggiunto all'interno di una stringa e emette un"Incontro"Oggetto. Può essere invocato quando si desidera individuare una sottostringa specifica all'interno di una stringa più lunga ma non hai idea di quanto frequentemente si verifichi.

Sintassi

Per usare il RE.Metodo Search (), seguire la sintassi data:

Rif.Search (Pattern, String, Flags)

Qui:

  • "modello"Rappresenta il regex che vuoi cercare.
  • "corda"Si riferisce alla stringa specificata in cui si desidera cercare.
  • "bandiere"Rappresenta i parametri opzionali, come la modalità multilinea, la sensibilità al caso, ecc.

Esempio 1: estrazione della sottostringa basata sul testo usando "RE.Search () "Metodo

Per l'utilizzo del "Rif.ricerca()"Metodo per estrarre una sottostringa, per primo importare il"Rif"Modulo. Questo modulo offre supporto per Regex:

importazione re

Definisci la stringa da cui si desidera recuperare una sottostringa:

String = 'LinuxHint è il miglior sito Web tutorial'

Quindi, specifica il regex. Qui, "R"Indica che si tratta di una stringa grezza trattare i backlash come personaggi letterali e"migliore"È l'espressione regolare definita o il regex:

regex = r'best '

Passa il creato "Regex" E "corda" a lì.Search () metodo e memorizzare l'oggetto risultante in "incontro":

match = re.Search (regex, string)

Ora, aggiungi la condizione data per estrarre la sottostringa abbinata dal "incontro"Oggetto restituito dal re.Metodo Search () e visualizzarlo alla console:

Se corrispondente:
sub_string = match.gruppo()
Stampa (sub_string)

Si può osservare che la sottostringa "migliore"È stato estratto utilizzando il"gruppo()"Metodo dell'oggetto Match:

Esempio 2: estrazione della sottostringa numerica usando “RE.Search () "Metodo

Ora, definisci una stringa numerica e cerca la prima occorrenza di una o più cifre passando il “\D+"Come Regex a"Rif.ricerca()" metodo:

String = '039-6546-0987'
Stampa (Re.Search (r '\ d+', string))

Nel regex specificato:

  • "\"È utilizzato per sfuggire alla lettera"D"(Personaggio delle cifre).
  • "+"Significa una o una cifre di abbinamento di fila:

Come puoi vedere, l'oggetto abbinato è stato restituito dal "Rif.ricerca()" metodo.

Metodo 2: sottostringa di estratto di Python utilizzando Regex in “Re.match () "metodo

"Rif.incontro()"Cerca solo il regex all'inizio delle stringhe e produce un oggetto Match in caso di ricerca di successo. Questo metodo può essere utilizzato quando si sa che la sottostringa si verifica solo all'inizio della stringa data.

Sintassi

Per invocare il re.Metodo Match (), seguire la sintassi data:

Rif.Match (Pattern, String, Flags)

Esempio

In primo luogo, definisci l'espressione regolare come "'^l .. .T $". Questo regex corrisponde alle corde che iniziano "l", Finisci con"T"E avere esattamente 8 caratteri.

regex = '^l ... t $'

Quindi, dichiara la stringa. Passalo al re.Metodo Match (), insieme al regex come argomenti:

String = 'LinuxHint'
risultato = re.Match (Regex, String)

Aggiungi il "se altro"Condizioni e specificare le rispettive dichiarazioni di stampa per i casi se"Incontro"L'oggetto è stato restituito o no:

Se risultato:
Print ("La ricerca è stata eseguita correttamente", risultato)
altro:
stampa ("La ricerca non ha avuto successo.")

Produzione

Metodo 3: sottostringa di estratto di Python usando regex in “re.Metodo findAll () "

IL "Rif.trova tutto()"Il metodo Python cerca ogni istanza di uno schema all'interno delle stringhe fornite e produce un elenco di sottostringhe estratte. Questo metodo viene utilizzato in quegli scenari del caso in cui è richiesto per recuperare più sottostringi senza alcun ordine particolare.

Sintassi

Per invocare il re.Metodo findAll (), controlla la sintassi data:

Rif.findall (pattern, string, flags)

Esempio

Definire una stringa che comprende valori numerici. Quindi, specifica il modello regex come "r '\ d+'”Per abbinare una o più cifre:

String = 'Coot Camp Boot Camp Linuxhint per $ 14.99 '
regex = r '\ d+'

Quindi, chiama il "Rif.trova tutto()"Metodo e passare il regex definito e la stringa come argomenti

corrispondenze = re.findall (regex, string)

Ora, iterazione sul restituito "Incontro"Oggetto memorizzato nella variabile corrispondente e stampare gli elementi sulla console:

per la partita nelle partite:
Stampa (Match)

Produzione

Metodo 4: sottostringa di estratto di Python usando regex in “re.Findter () "Metodo

IL "Rif.findter ()"Il metodo funziona come il re.Metodo findAll (). Tuttavia, restituisce un iteratore piuttosto che un elenco di sottostringi. In Python, questo metodo può essere utilizzato quando esiste un grande set di dati e non è necessario archiviare tutte le partite contemporaneamente. Più specificamente, il re.Metodo Findter () elabora il sottostringa estratto alla volta.

Sintassi

Per invocare il re.Metodo Findter (), seguire la sintassi data:

Rif.Findter (pattern, stringa, flags)

Esempio

Innanzitutto, crea una stringa. Quindi, definisci un modello di regex come "r '[a-z]+'"Questo corrisponde a una o più lettere maiuscole:

String = 'LinuxHint è il miglior sito Web tutorial'
regex = r '[a-z]+'

Passare il regex e la stringa come argomenti al "Rif.findter ()"Metodo e memorizzare l'oggetto di corrispondenza risultante in"corrispondenze":

corrispondenze = re.Findter (Regex, String)

Infine, iterare sugli elementi di oggetti corrisponde, estrarre la sottostringa con l'aiuto del metodo "Group ()" e stampare sulla console:

per la partita nelle partite:
sub_string = match.gruppo()
Stampa (sub_string)

Produzione

Abbiamo compilato approcci essenziali relativi all'estrazione della sottostringa in Python.

Conclusione

Per estrarre la sottostringa usando Regex in Python, usa il “Rif.ricerca()","Rif.match () "," re.findall () "o" re.findter ()"Metodi. A seconda delle tue esigenze, utilizzare "Rif.ricerca()"Metodo quando è necessario estrarre solo la prima istanza del regex,"Rif.incontro()"Estrai la sottostringa presenta l'inizio di una stringa,"Rif.trova tutto()"Recupera molteplici sottostringhe in base al modello e infine"Rif.findter ()"Elabora le stringhe multiple una alla volta. Questo blog ha coperto i metodi per estrarre la sottostringa in Python.