Piton

Regularni izrazi u Pythonu

Regularni izrazi u Pythonu
U ovom ćemo članku ukratko pogledati regularne izraze u pythonu. Radit ćemo na ugrađenim funkcijama s primjerima nakon kojih slijedi tablica koja objašnjava što svaki znak znači u regularnom izrazu radi boljeg razumijevanja.

Što je regularni izraz?

Prije nego što prijeđemo na praktične primjere, moramo znati što je zapravo regularni izraz. Regularni izraz je niz znakova koji definira strukturu unosa ili obrazac pretraživanja. Zamislite da stavite e-poštu ili lozinku na neko slučajno web mjesto poput Facebooka, Twittera ili Microsofta. Pokušajte to pogrešno izraziti, a pod pogrešnim mislim pokušati ići protiv njihove konvencije. Jasno će vam ukazati na te pogreške. Nećete moći prijeći na sljedeći korak dok se vaš unos ne podudara s uzorkom koji su postavili u pozadini. Taj specifični obrazac, koji vas ograničava u davanju bilo kakvih dodatnih ili irelevantnih informacija, poznat je kao regularni izraz ili regularni izraz.

Regularni izrazi u Pythonu

Regularni izrazi ne igraju različitu ulogu u pythonu kao u drugim programskim jezicima. Python sadrži modul ponovno koji pruža potpunu podršku korištenju regularnih izraza. Svaki put kad se unesu neprikladni ili nenadmašivi podaci ili se dogodi bilo kakva pogreška, ovo ponovno modul će ga shvatiti kao iznimku koja u konačnici pomaže u rješavanju potrebnih problema.

Uzorci regularnih izraza

Dostupno je puno znakova zapisanih u nizu koji čine određeni obrazac regularnog izraza. Osim kontrolnih znakova, (+ ? . * ^ $ () [] | \), svi likovi se podudaraju. Međutim, kontrolni znakovi mogu se izbjeći prepisivanjem obrnute kose crte.

Slijedi tablica koja se sastoji od uzorka i opisa njihovog rada u pythonu.

Uzorak Opis
[Pp] ython Podudaranje "Python" ili "python"
Kada (Ee) Podudarnost "Cjevčica" ili "Cijev"
[aeiou] Podudarite se s bilo kojim malim slovom
[0-9] Podudarite bilo koju znamenku između 0 i 9
[a-z] Uskladite bilo koje malo ASCII slovo
[A-Z] Uskladite bilo koje veliko ASCII slovo
[a-zA-Z0-9] Podudarite se s malim i velikim slovima ASCII
ili znamenka između 0 i 9
[^ aeiou] Podudarajte se s bilo čim, samo ne sa malim samoglasnicima
[^ 0-9] Podudarajte se s bilo čime, ali ne i sa znamenkom
. Uskladite bilo koji znak, osim novog retka
\ d Podudaranje s bilo kojom znamenkom: [0-9]
\ D Podudaranje ne-znamenke: [^ 0-9]
\ s Uskladite razmake
\ S Podudarajte se s bijelim razmacima
\ A Podudaranje početka niza
\ Z Kraj kraja niza
\ w Uskladite znakove riječi
\ W Uskladite znakove koji nisu riječi
[…] Podudarite bilo koji pojedinačni znak u zagradama
[^…] Poravnajte bilo koji pojedinačni znak koji nije u zagradama
$ Uskladite kraj retka
^ Poravnaj početak retka

Funkcije podudaranja i pretraživanja u Pythonu

Sada ćemo ovdje vidjeti dva primjera s dvije ugrađene funkcije koje postoje u pythonu. Jedna se podudara, a druga je funkcija pretraživanja. Oboje uzimaju iste parametre koji su sljedeći:

Prije nego što prijeđemo na primjer, evo još jedne stvari koju trebate znati. Dvije metode mogu se koristiti za dobivanje odgovarajućih grupa koje su sljedeće:

Ono što se događa je da kada se koriste funkcije podudaranja ili pretraživanja, on stvara podgrupe svih povezanih obrazaca pronađenih u žicama i strukturira ih na pozicijama počevši od 0. Pogledajte primjer u nastavku da biste dobili bolju ideju.

Funkcija podudaranja (primjer)

U sljedećem smo primjeru uzeli popis u kojem smo upotrijebili regularni izraz koji provjerava riječi koje počinju slovom 'a' i odabrat će samo ako obje riječi počinju istim slovom i.e.: 'a'.

uvoz re
arraylist = [„afekt afekta“, „čin naklonosti“, „programiranje naklonosti“]
za element u arraylistu:
k = re.podudaranje ("(a \ w +) \ W (g \ w +)", element)
ako je k:
ispis ((z.grupe ()))

Izlaz:

('naklonost', 'afekt')
('naklonost', 'čin')

Treći element na popisu neće se uzimati u obzir jer se ne podudara s regularnim izrazom koji kaže da obje riječi trebaju počinjati s 'a'.

Funkcija pretraživanja (primjer)

Ova se funkcija razlikuje od podudaranja. Pretraživanje skenira cijelu rečenicu, dok podudaranje ne. U sljedećem je primjeru metoda pretraživanja uspješna, ali funkcija podudaranja nije.

uvoz re
Ulaz = "DocumentationNew"
v = re.traži (“(ta.*) ”, Unos)
ako je v:
ispis (“rezultat:” v.grupa (1))

Izlaz:

rezultat: tationNew

'ta.* 'znači bilo što nakon' ta 'što nam daje naš rezultat kao' tationNew 'iz pretraživanog ulaza "DocumentationNew".

Zaključak

Regularni izrazi su presudni za sve programere softvera i sada možete lako vidjeti kako koristiti Regularne izraze u programskom jeziku Python.

Microsoft Sculpt Touch bežični miš pregled
Nedavno sam čitao o Microsoft Sculpt Touch bežični miš i odlučio ga kupiti. Nakon što sam ga neko vrijeme koristio, odlučio sam s njim podijeliti svoj...
Trackpad i pokazivač miša na ekranu AppyMouse za Windows tablete
Korisnicima tableta često nedostaje pokazivač miša, posebno kada su navični koristiti prijenosna računala. Pametni telefoni i tableti osjetljivi na do...
Srednja tipka miša ne radi u sustavu Windows 10
The srednja tipka miša pomaže vam u pomicanju kroz dugačke web stranice i zaslone s puno podataka. Ako se to zaustavi, na kraju ćete koristiti tipkovn...