Python

Regulære udtryk i Python

Regulære udtryk i Python
I denne artikel vil vi tage et kort kig på regulære udtryk i python. Vi arbejder på indbyggede funktioner med eksempler efterfulgt af en tabel, der forklarer, hvad hver karakter betyder i regulært udtryk for en bedre forståelse.

Hvad er et regelmæssigt udtryk?

Før vi går hen imod praktiske eksempler, skal vi vide, hvad et regulært udtryk virkelig er. Et regulært udtryk er en sekvens af tegn, der definerer strukturen for et input eller et søgemønster. Forestil dig at indsætte en e-mail eller adgangskode på et tilfældigt websted som Facebook, Twitter eller Microsoft. Prøv at sætte det forkert, og med forkert mener jeg at gå imod deres konvention. Det vil tydeligt påpege disse fejl for dig. Du får ikke lov til at gå til næste trin, før dit input matcher det mønster, som de har angivet i backend. Det specifikke mønster, der begrænser dig fra at lægge nogen form for yderligere eller irrelevant information, er kendt som regex eller regulært udtryk.

Regulære udtryk i Python

Regulære udtryk spiller ikke en anden rolle i python som i andre programmeringssprog. Python indeholder modulet re som giver fuld support til brugen af ​​regulære udtryk. Hver gang der indtastes en uegnet eller umatchelig information, eller der opstår nogen form for fejl, dette re modul vil fange det som en undtagelse, som i sidste ende hjælper med at løse de krævede problemer.

Regular Expressions mønstre

Der er mange tilgængelige tegn skrevet i en sekvens, der danner et specifikt regulært udtryksmønster. Bortset fra kontroltegn, (+ ? . * ^ $ () [] | \), alle tegn matcher sig selv. Kontroltegn kan dog undgås ved at omskrive en tilbageslag.

Følgende er en tabel, der består af et mønster og en beskrivelse af deres arbejde i python.

Mønster Beskrivelse
[Pp] ython Match "Python" eller "python"
Badekar [Ee] Match "TubE" eller "Tube"
[aeiou] Match alle små bogstaver
[0-9] Match ethvert ciffer mellem 0 og 9
[a-z] Match ethvert lille ASCII-bogstav
[A-Z] Match ethvert stort ASCII-bogstav
[a-zA-Z0-9] Match ethvert lille, stort ASCII-bogstav
eller et ciffer mellem 0 og 9
[^ aeiou] Match alt, men ikke små vokaler
[^ 0-9] Match noget, men ikke ciffer
. Match ethvert tegn undtagen ny linje
\ d Match ethvert ciffer: [0-9]
\ D Match et ikke-cifret: [^ 0-9]
\ s Match hvide mellemrum
\ S Match ikke-hvide mellemrum
\EN Match begyndelsen af ​​strengen
\ Z Match slutningen af ​​strengen
\ w Match ordtegn
\ W Match tegn, der ikke er ord
[…] Match ethvert enkelt tegn i parentes
[^…] Match ethvert enkelt tegn, der ikke er i parentes
$ Match slutningen af ​​linjen
^ Match begyndelsen på linjen

Match- og søgefunktioner i Python

Her skal vi se to eksempler med de to indbyggede funktioner, der findes i python. Den ene er match, og den anden er søgefunktion. Begge tager de samme parametre, som er som følger:

Inden vi springer ind i eksempel, er her en anden ting, du har brug for at vide. To metoder kan bruges til at få matchende grupper, der er som følger:

Hvad der sker er, at når der bruges match- eller søgefunktioner, oprettes undergrupper af alle relaterede mønstre, der findes i strenge, og strukturer dem ved positioner, der starter fra 0. Se eksemplet nedenfor for at få en bedre idé.

Matchfunktion (eksempel)

I det følgende eksempel har vi taget en liste, hvor vi har brugt et regulært udtryk, der kontrollerer ordene, der starter med bogstavet 'a' og kun vælger, hvis begge ord starter med samme bogstav i.e.: 'a'.

import gen
arraylist = ["affection affect", "affection act", "affection Programming"]
for element i arraylist:
k = re.match (“(a \ w +) \ W (g \ w +)”, element)
hvis k:
udskrive ((z.grupper ()))

Produktion:

('hengivenhed', 'affekt')
('hengivenhed', 'handling')

Tredje element på listen vil ikke blive betragtet, da det ikke matcher regex, der siger, at begge ord skal starte med 'a'.

Søgefunktion (eksempel)

Denne funktion er forskellig fra match. Søgning scanner gennem hele sætningen, mens match ikke gør det. I det følgende eksempel er søgemetoden vellykket, men matchfunktionen er ikke.

import gen
Input = “DocumentationNew”
v = re.søg (“(ta.*) ”, Input)
hvis v:
udskrive (“resultat:” v.gruppe (1))

Produktion:

resultat: tationNy

'ta.* 'betyder noget efter' ta ', som giver os vores resultat som' tationNew 'fra den søgte Input "DocumentationNew".

Konklusion

Regular Expressions er afgørende for alle softwareudviklere, og nu kan du nemt se, hvordan du bruger Regular Expressions på Python-programmeringssproget.

Mus Remap dine museknapper forskelligt til anden software med X-Mouse Button Control
Remap dine museknapper forskelligt til anden software med X-Mouse Button Control
Måske har du brug for et værktøj, der kan ændre din muses kontrol med hver applikation, du bruger. Hvis dette er tilfældet, kan du prøve en applikatio...
Mus Microsoft Sculpt Touch Wireless Mouse Review
Microsoft Sculpt Touch Wireless Mouse Review
Jeg har for nylig læst om Microsoft Sculpt Touch trådløs mus og besluttede at købe den. Efter at have brugt det et stykke tid besluttede jeg at dele m...
Mus AppyMouse pegefelt på skærmen og musemarkør til Windows-tablets
AppyMouse pegefelt på skærmen og musemarkør til Windows-tablets
Tabletbrugere savner ofte musemarkøren, især når de er vante til at bruge bærbare computere. Touchscreen-smartphones og tablets har mange fordele, og ...