Re.kompilere i Python

Re.kompilere i Python
“Regelmessige uttrykk har blitt et veldig nyttig verktøy for å skaffe data fra databaser, filer, systemlogger eller datakode. Når vi bruker regelmessige uttrykk, krever de at alle elementer er et tegn. Utviklere lager mønstre for å identifisere bestemte strenger eller symbolesett. Regelmessige uttrykk er sett med tegn i en spesifisert rekkefølge som hjelper utviklere med å finne andre sekvensdata som bruker en bestemt notasjon opprettholdt i et mønster. Regelmessige uttrykk er gitt av standard Python-moduler som er forhåndsinstallert med konfigurasjonen av Python.”

Re.kompilere () metode

Den vanlige uttrykkssekvensen konverteres fra en streng til en regex mønsterklasse ved bruk av RE.kompilere () funksjon. Deretter vil vi ved hjelp av Regex -teknikker bruke dette mønsterelementet for å se etter en kamp innenfor forskjellige måluttrykk. Uten å endre det, kan vi sette sammen en sekvens til en regex -modul for å søke etter tilfeller av et lignende format innenfor forskjellige målstrenger.

Bruk av re.kompilere () funksjon

Det er to formål å bruke RE.kompilere () metode, som er som følger:

Effektivitet i funksjonalitet
Når uttalelsen blir brukt mer enn en gang i en enkelt applikasjon, er det fordelaktig og effektivt å montere vanlige uttrykkselementer. Compile () -funksjonen er viktig for opprinnelig å generere og produsere vanlige uttrykksklasser. Ved å bruke disse elementene kan vi søke etter forekomster av en lignende sekvens i forskjellige spesifikke strenger uten å måtte skrive det om det, noe som øker produktiviteten og sparer tid.

Lesbarhet
Fordelen med lesbarhet ville være en annen. Vi kan koble til spesifikasjonen av regexen ved hjelp av re.kompilere(). Hvis vi vil se etter forskjellige mønstre i en bestemt målstreng, ikke bruk Compile () -funksjonen. Fordi andre Regex -teknikker utføres når vi sammenstiser, vil vi ikke trenge å bruke kompileringsfunksjonen i utgangspunktet.

Eksempel 1

La oss ha en grunnleggende forekomst for å demonstrere hvordan du bruker RE.kompilere () metode.

Vi samles ved å bruke mønster som følger: r '\ d 3'

Det indikerer at vi begynner med å definere det vanlige uttrykksmønsteret ved å bruke en rå sekvens. Den neste spesielle karakteren er \ d, som vil sammenligne ethvert tall i en spesifisert streng mellom null og ni. Verdien må derfor vises omtrent tre ganger etter hverandre innenfor den spesifikke strengen, som indikert av de 3 i parentesene. Vi kommer til å finne noen tre påfølgende tall i den aktuelle strengen i dette tilfellet.

Import re
S_1 = "Aima Got Marks 187 190 179 185"
str_pattern = r "\ d 3"
reg_pattern = re.kompilere (str_pattern)
print (type (reg_pattern))
res = reg_pattern.FindAll (S_1)
trykk (res)
S_2 = "Salman Got Marks 199 180 177"
Resultat = reg_pattern.FindAll (S_2)
trykk (res)

I starten av programmet integrerer vi "RE" -tekstfilen. Deretter erklærer vi en variabel “S_1”, og i denne variabelen lagrer vi tallene Aima fikk i forskjellige fag. I neste trinn definerer vi mønsteret for å skaffe 3 påfølgende verdier. Nå sammenstiller vi det nødvendige strengmønsteret for å re.mønsterelement.

For dette formålet kaller vi RE.kompilere () metode. Strengmønsteret ble konvertert til en brukbar re.mønsterklasse av re.kompilere () funksjon. Print () -funksjonen brukes til å skrive ut formatet til det sammensatte mønsteret. PRINT () -funksjonen inneholder "Type" -parameteren. Videre vil vi skaffe alle kampene i den første strengen, så vi erklærer en variabel "res" og butikk som samsvarer med elementer i denne variabelen.

For å identifisere alle mulige mønstre av nesten alle tre påfølgende heltall i den spesifikke strengen, benyttet vi RE.Mønsterattributt i en re.FindAll () -funksjon. Vi vil ringe print () -funksjonen for å vise utgangen. Vi definerer elementene i den andre strengen. Og disse elementene lagres i variabelen “S_2”.

Nå skal vi skaffe oss alle kampene i 2nd streng ved gjenbruk av samme mønster. Nå kan den lignende REG -mønsterklassen brukes identisk på forskjellige målstrenger for å undersøke for 3 påfølgende tall. Til slutt bruker vi igjen metoden Print () for å vise resultatet.

Eksempel 2

For å utføre operasjoner som å lete etter mønsterlikheter eller erstatte strenger, akkumuleres vanlige uttrykk i mønsterforekomster.

Import re
a = re.kompilere ('[g-m]')
trykk (a.Findall ("Jeg elsker å spille badminton"))

Først av alt vil modulen "re" bli integrert. Begrepet "re" representerer det vanlige uttrykket. Deretter initialiserer vi en variabel “a”. Her kaller vi funksjonen for å kompilere (), som er assosiert med "RE" -modulen. Innenfor argumentene til denne funksjonen definerer vi karakterklassen “G-M”. I neste trinn skal vi bruke FindAll () -metoden. Denne funksjonen søker etter det spesifiserte vanlige uttrykket og returnerer deretter en liste ved å finne. Til slutt brukes print () -metoden for å vise resultatet.

Eksempel 3

I dette tilfellet vil alle hvitrommet tegn bli søkt.

Import re
i = re.kompilert')
trykk (i.FindAll ("Jeg vil gå flyplass på 3 s.M. 23. november 2022 "))
i = re.kompilere ('\ d+')
trykk (i.FindAll ("Vi vil besøke SWAT på 8 s.M. 16. august 2022 "))

Pakken “re” vil bli introdusert innledningsvis. Det vanlige uttrykket er betegnet med forkortelsen “re.”Vi setter umiddelbart verdien av variabelen“ Jeg.”Her påkaller vi“ RE ”-modulens relaterte metode kompilering (). Vi gir det vanlige uttrykket i parametrene for denne funksjonen. Verdien av attributtet “D” indikerer at den varierer fra 0 til 9.

Vi vil bruke FindAll () -funksjonen i følgende trinn. Denne metoden ser etter det spesifiserte vanlige uttrykket, og hvis den blir funnet, returnerer en liste. Print () -funksjonen brukes deretter for å vise utfallet etter alt dette. Tilsvarende erklærer vi igjen en variabel. Og så bruker vi re.kompilere () funksjon. Her er parameteren til denne funksjonen “\ d+”. Dette indikerer at \ d+ finner en gruppe i spesifikke klasser 0 til 9.

Konklusjon

I denne delen har vi undersøkt hvordan vi bruker RE.kompilere () metode i python. En vanlig uttrykksmal kan brukes til å lage mønsterenheter som kan brukes til mønstergjenkjenning. Oppdatering av en mønsteranalyse uten å skrive det er også gunstig. Hver gang vi utfører mange kamper med en lignende mal, burde vi bruke Compile () -funksjonen. I tillegg, hvis vi gjentatte ganger søker etter et lignende mønster i forskjellige målstrenger. Vi har gitt "\ d" og \ d+"som en parameter for funksjonen re.kompilere () og se hva som skjer.