Uvod v Python Regex

Python je danes modna beseda v tehnološki industriji. Je jezik, ki hitro pridobiva na priljubljenosti. Je zelo dinamičen jezik in se lahko uporablja za izdelavo spletnih aplikacij za algoritme strojnega učenja. V tem članku bomo spoznali, kako se Regex uporablja v Pythonu. Regex je kratka oblika regularnega izražanja in je v osnovi zaporedje znakov, ki jih lahko uporabimo kot vzorec. Dobra stvar je, da ima Python svoj vgrajeni paket Regex, znan kot re.

Sintaksa:

Razumeli bomo Sintakso s primerom. Primer za to lahko poiščemo niz, da vidimo, ali se začne z "He" in konča s "smart".

import reword = "He is very smart"
x =re.search("^He.*smart$", word)
print(x)

Če pogledate skladnjo, je zelo preprosto, morate najprej uvoziti paket regex, ki je ponovno, in nato uporabiti katero koli funkcijo uvoženega paketa, kot je potrebno. Če v Jupyterju zaženemo zgornjo vzorčno kodo, dobimo spodnji rezultat.

Regex funkcije v Pythonu

Obstaja veliko funkcij vnovičnega izražanja, ki nam pomagajo iskati niz za ujemanje. Pred tem bomo najprej spoznali znake, ki jih na splošno vidimo v funkciji regex.

()

Predstavlja nabor znakov.

.

Predstavlja kateri koli znak, razen nove vrstice.

*

Predstavlja nič ali več dogodkov.

+

Predstavlja enega ali več dogodkov.

^

Predstavlja začetni značaj

$

Predstavlja končni znak.

|

Predstavlja bodisi oz.

()

Predstavlja zajem in skupino.

\

Običajno se uporablja za beg posebnih znakov

Regex ima tudi nekaj posebnih zaporedij, ki jih bo na primer mogoče vedeti:

\ w

Prikaže ujemanje, če ima niz kateri koli niz besednih znakov iz (0-9), AZ ali az in podčrtaj.

\ Š

Vrne ujemanje, če v nizu ni besednih znakov.

\ d

Te vrnitve se ujemajo, če v nizu obstajajo številke.

\ D

Je nasprotno od prejšnjega, saj se ujema, če v nizu ni nobenih številk.

\ s

Uporablja se za preverjanje belih znakov v nizu. Če se pojavijo beli presledki, se to ujema.

\ S

Ujema se, če v nizu ni belih presledkov.

Funkcije, uporabljene za operacije Regex

Oglejmo si različne funkcije modula re, ki jih lahko uporabimo za operacije ponovnega izražanja v pythonu.

1. funkcija findall (): Ta funkcija je prisotna v modulu. Vrne seznam vseh ujemanj v nizu. Potuje od leve proti desni čez vrvico. Tudi tekme se vrnejo v povsem istem vrstnem redu iskanja. Šli bomo skozi primer tega. Recimo, da želimo najti vse števke v nizu. Za to bomo uporabili funkcijo findall (), v kateri bomo našli vse števke v nizu. Oglejte si kodo za to:

Koda:

import re
word = "Raju is 22 years old and his mobile number last three-digit is 789"
rgex ='\d+'
x =re.findall(rgex, word)
print(x)

Če gremo skozi kodo, nam je v osnovi dodeljena beseda spremenljivke z nizom, ki vsebuje številke, nato pa kot argument v funkciji findall () posredujemo ustrezen regex simbol za števke in besedo spremenljivke

Zdaj pa si oglejmo izhod.

Kot lahko vidite, kot rezultat dobimo seznam številk.

2. funkcija search (): funkcija iskanja se uporablja za iskanje vzorcev v nizu in če se najde ujemanje, vrne predmet. Tu se moramo spomniti ene stvari, če je več tekem, potem se vrne samo prvi pojav. Če ne najde nobenega ujemanja, potem ne vrne nobenega. Primer za to bomo videli, če želimo najti niz, ki se začne z določeno besedo. Testirali bomo tako primere pozitivnih kot negativnih tekem. Oglejte si kodo za isto.

Koda:

import re
word = "Raju is 22 years old"
rgex ='^Raju'
x =re.search(rgex, word)
print(x)
regex1= '^Mohan'
x1 = re.search(regex1, word)
print(x1)

Tu se spremenljivka 'regex' uporablja v pozitivnem scenariju, spremenljivka 'regex1' pa za negativni scenarij. Zdaj pa poglejte izhod.

V prvem primeru vrnemo predmet ujemanja, v drugem primeru pa vrnemo "None".

3. Razdeli funkcijo (): Ta funkcija razdeli niz po vsakem ujemanju, kar pomeni, da ko je v nizu ujemanje, ta funkcija razdeli niz od tam. Torej, če so tri tekme, potem bodo tri delitve. Videli bomo primer. Recimo, da želimo vrvico razdeliti po vsakem presledku. Tako lahko to ločeno funkcijo v tej situaciji koristno uporabimo.

Koda:

import re
word = "Raju is 22 years old"
rgex ='\s'
x =re.split(rgex, word)
print(x)

Tu vzorci predstavljajo beli vesoljski značaj. Zdaj pa si oglejmo izhod.

Kot lahko vidite v izhodu, se niz razdeli po vsakem presledku.

4. funkcija sub (): Ta funkcija nadomešča ujemanja z nizom ali znakom po izbiri uporabnikov. V bistvu pomeni, da če je v nizu ujemanje, bo ujemajoči se niz ali niz zamenjal z vašim nizom ali znakom in vrnil spremenjeni niz. Potrebuje tri argumente. Na primer, beli presledek bomo le nadomestili s črko '&'.

Koda:

import re
word = "Raju is 22 years old"
rgex ='\s'
x =re.sub(rgex, '&', word)
print(x)

Zdaj si oglejmo izhod za zgornjo kodo.

Kot lahko vidite, so vsi presledki zamenjani z '&'.

Zaključek

V tem članku smo razpravljali o modulu regex in njegovih različnih vgrajenih funkcijah Python. Regex je zelo pomemben in se pogosto uporablja v različnih programskih jezikih.

Priporočeni članki

To je vodnik za Python Regex. Tukaj obravnavamo Uvod v Python Regex in nekatere pomembne funkcije regexa skupaj s primerom. Obiščite lahko tudi druge naše predlagane članke, če želite izvedeti več -

  1. Medtem ko je zanka v Pythonu
  2. Povratna številka v Pythonu
  3. Ključne besede Python-a
  4. Python Set
  5. PHP Ključne besede
  6. C ++ Ključne besede