Exemple Python Regex

Exemple Python Regex



Forma completă a expresiei regex este expresia regulată. Este o caracteristică importantă a oricărui limbaj de programare. Este un model de șir care este utilizat pentru a potrivi, căuta sau înlocui șirurile dintr-o valoare de șir. Modelul regex poate fi folosit în scriptul Python folosind modulul „re” al lui Python. Acest modul are multe tipuri de funcții pentru a face diferite operații cu șir. Diferite metacaractere și secvențe speciale sunt folosite pentru a defini modelele regex pentru a căuta sau înlocui sarcinile. Scopurile utilizării unor metacaractere, secvențe speciale și metode regex utilizate în mod obișnuit în scriptul Python sunt prezentate în acest tutorial.

Câteva metacaractere utilizate în mod obișnuit în regex:









Personaje Scop
'+' Este folosit pentru a potrivi una sau mai multe apariții ale unui anumit caracter dintr-un șir.
'*' Este folosit pentru a potrivi zero sau mai multe apariții ale unui anumit caracter într-un șir.
'?' Este folosit pentru a potrivi zero sau o apariție a unui anumit caracter într-un șir.
'^' Este folosit pentru a potrivi caracterul sau șirul specific de la începutul șirului.
'$' Este folosit pentru a potrivi caracterul sau șirul specific de la sfârșitul șirului.
'|' Este folosit pentru a potrivi oricare dintre șirurile multiple dintr-un șir. Funcționează ca logica SAU.
„[]” Este folosit pentru a potrivi o serie de caractere.
„{}” Este folosit pentru a potrivi un anumit număr de caractere.



Unele secvențe speciale utilizate în mod obișnuit în regex:





Secvențe Scop
'\A' Este folosit pentru a potrivi caracterul particular de la începutul șirului. Funcționează ca caracterul „^”.
„\b”, „\B” „\b” este folosit pentru a potrivi șirul care conține caracterul sau cuvântul specific la începutul sau la sfârșitul șirului. „\B” funcționează opus cu „\b”.
„\d”, „\D” „\d” este folosit pentru a potrivi numărul zecimal din șir care este similar cu „[0-9]”. „\D” funcționează opus cu „\d”.
„\s”, „\S” „\s” este folosit pentru a potrivi spațiul alb din șir care este similar cu „[\n\t\r\v]”. „\S” funcționează opus cu „\s”.
„\w”, „\W” „\w” este folosit pentru a potrivi caracterele alfabetice și numerice din șir. „\W” funcționează opus cu „\w”.
'\CU' Este folosit pentru a potrivi caracterul particular de la sfârșitul șirului. Funcționează ca caracterul „$”.

Exemplul 1: Potriviți șirul folosind funcția Match().

Funcția match() este folosită pentru a potrivi un model regex la începutul șirului. Sintaxa acestei funcții este dată după cum urmează:



Sintaxă:

re.potrivire ( model, sfoară, steaguri = 0 )

Aici, primul argument este folosit pentru a defini modelul regex. Al doilea argument este folosit pentru a defini șirul principal. Al treilea argument este opțional și este folosit pentru a defini diferite tipuri de steaguri.

Creați un fișier Python cu următorul script care se potrivește cu un model regex cu un șir definit folosind funcția match(). În primul rând, un model regex definit este folosit pentru a se potrivi. Apoi, un cuvânt de căutare este preluat de la utilizator și este folosit ca un model regex pentru a se potrivi cu valoarea șirului. Dacă se găsește vreo potrivire, cuvântul de căutare este tipărit. În caz contrar, este tipărit șirul „Nu s-a găsit nicio valoare potrivită”.

#Importă modulul necesar
import re

#Definiți funcția pentru a imprima rezultatul potrivit
def matchString ( ) :
#Verificați valoarea returnată a funcției match().
dacă împreună cu ! = Nici unul:
imprimare ( ''' + mat.grup ( ) + „’ se găsește în „” + strValue + ''' )
altceva:
imprimare ( „Nu s-a găsit nicio valoare care se potrivește.” )

#Definiți valoarea șirului
strValue = „Primul intrat, primul ieşit”.
#Potriviți șirul în funcție de model
mat = re.match ( '^Mai întâi' , strValue )
Funcția #Call pentru a imprima rezultatul meciului
matchString ( )

#Ia șirul de căutare
inValue = intrare ( 'Introduceți valoarea căutării: ' )
mat = re.match ( inValue + , strValue )
Funcția #Call pentru a imprima rezultatul meciului
matchString ( )

Următoarea ieșire apare pentru „prima” valoare de intrare:

Exemplul 2: Găsiți șirul folosind funcția Findall().

Funcția findall() este folosită pentru a returna toate cuvintele care se potrivesc care se găsesc în șirul principal ca tuplu.

Sintaxă:

re.găseşte ( model, sfoară, steaguri = 0 )

Aici, primul argument este folosit pentru a defini modelul regex. Al doilea argument este folosit pentru a defini șirul principal. Al treilea argument este opțional și este folosit pentru a defini diferite tipuri de steaguri.

Creați un fișier Python cu următorul script care preia o valoare de șir principal și o valoare de șir de căutare de la utilizator. Apoi, utilizați cuvântul de căutare  în modelul regex pentru a găsi cuvântul de căutare în șirul principal. Numărul total de potriviri sunt imprimate în rezultat.

#Importă modulul necesar
import re

#Ia o valoare șir
inValue = intrare ( 'Introduceți un șir: ' )

#Ia un cuvânt de căutare
srcValue = intrare ( „Introduceți un cuvânt de căutare:” )

#Căutați cuvântul din șir
srcResult = re.findall ( srcValue + '\În*' , În valoare )
#Tipărește rezultatul căutării
imprimare ( 'Cuvantul '' + srcValue + „’ se găsește în șirul „
+ str ( numai ( srcResult ) ) + „ori”. )

Conform rezultatelor, cuvântul de căutare „mâncăm” este găsit de două ori în șirul principal „Mâncăm pentru a trăi și nu trăim pentru a mânca”.

Exemplul 3: Căutați șirul folosind funcția Search().

Search() este o altă funcție pentru a căuta un anumit model într-o valoare șir. Conține aceleași argumente ca și funcțiile match() și findall(). Creați un fișier Python cu următorul script care caută cuvântul „Python” într-o valoare șir care va fi preluată de la utilizator. Dacă cuvântul de căutare există în valoarea de intrare, este tipărit un mesaj de succes. În caz contrar, este tipărit un mesaj de eroare.

#Import re modul
import re

#Ia o valoare șir
inValue = intrare ( 'Introduceți un șir: ' )
#Căutați cuvântul specific din valoarea șirului
srcResult = cercetare ( r „Python\w*” , În valoare )

#Verificați că cuvântul căutat este găsit sau nu
dacă srcResult:
imprimare ( ''' + srcResult.group ( ) + „’ se găsește în „” + inValue + ''' )
altceva:
imprimare ( „Șirul de căutare nu a fost găsit”. )

Ieșire:

Următoarea ieșire apare dacă șirul de intrare este „Îmi place programarea Python”:

Următoarea ieșire apare dacă șirul de intrare este „Îmi place programarea PHP”:

Exemplul 4: Înlocuiți șirul folosind funcția Sub().

Funcția sub() este folosită pentru a căuta un anumit șir pe baza modelului și pentru a-l înlocui cu un alt cuvânt. Sintaxa acestei funcții este dată după cum urmează:

Sintaxă:

re.sub ( model, înlocuire_șir, șir_principal )

Primul argument al acestei funcții conține modelul care este folosit pentru a căuta șirul particular din șirul principal.

Al doilea argument al acestei funcții conține valoarea șirului „înlocuiește”.

Al treilea argument al acestei funcții conține șirul principal.

Această funcție returnează șirul înlocuit dacă există un cuvânt care se potrivește în șirul principal pe baza primului argument.

Creați un fișier Python cu următorul script care caută două cifre la sfârșitul șirului. Dacă șirul conține două cifre la sfârșit, cifrele sunt înlocuite cu șirul „$50”.

#Import re modul
import re

#Definește șirul principal
strValue = „Prețul cărții este de 70”

#Definiți modelul de căutare
model = „[0-9]{2}”

#Definiți valoarea de înlocuire
replaceValue = „50 USD”

#Căutați și înlocuiți șirul pe baza modelului
modified_strValue = re.sub ( model, replaceValue, strValue )
#Tipărește valorile șirurilor originale și modificate
imprimare ( „Șir original:” + strValue )
imprimare ( „Șir modificat:” + modified_strValue )

Ieșire:

Erau 70 la capătul șirului principal. Deci, 70 este înlocuit cu 50 USD în șirul înlocuit.

Exemplul 5: Înlocuiți șirul folosind funcția Subn().

Funcția subn() funcționează ca și funcția sub(), cu excepția faptului că returnează rezultatul ca un tuplu unde primul index conține valoarea înlocuită, iar al doilea index conține numărul total de potriviri.

Creați un fișier Python cu următorul script care caută alfabetele de la A la L în șirul „LinuxHint.com” folosind funcția subn():

#Import re modul
import re

#Definește șirul principal
strValue = „LinuxHint.com”

#Definiți modelul de căutare
model = „[CĂTRE]”

#Definiți valoarea de înlocuire
replaceValue = '*'

#Căutați și înlocuiți șirul pe baza modelului
modified_strValue = re.subn ( model, replaceValue, strValue )
#Tipărește șirul original și rezultatul subn()
imprimare ( „Șir original: \n ' + strValue )
imprimare ( 'Ieșirea funcției subn():' )
imprimare ( modified_strValue )

Ieșire:

Conform următorului rezultat, caracterele „L” și „H” sunt înlocuite cu caracterul „*”.

Exemplul 6: Împărțiți șirul folosind funcția Split().

Creați un fișier Python cu următorul script care a folosit funcția split() pentru a împărți șirul principal în mai multe părți pe baza modelului regex:

#Import re modul
import re

#Definește valoarea șirului
strVal= „Rupa Akter; Nira Chowdhury; Mazharul Islam”
#Definiți modelul care va fi folosit pentru a împărți datele
model = „[^A-Za-z ]”
# Stocați valorile împărțite într-o listă
split_result = re.split ( model, strVal )
imprimare ( „Ieșirea funcției split():” )
imprimare ( split_result )

Ieșire:

Conform rezultatelor, șirul principal este împărțit în trei părți pe baza modelului „[^A-Za-z ]” care este utilizat în script.

Concluzie

Scopul celor mai frecvent utilizate metacaractere, intervale și funcții încorporate Python pentru a căuta, înlocui și împărți șirurile sunt prezentate în acest tutorial folosind scripturi Python simple.