Uvod u Python Regex

Python je danas najpoznatija riječ u tehnološkoj industriji. To je jezik koji brzo dobiva na popularnosti. To je vrlo dinamičan jezik i može se koristiti za izradu web aplikacija za algoritme strojnog učenja. U ovom ćemo članku naučiti kako se Regex koristi u Pythonu. Regex je kratak oblik Regularnog izraza i u osnovi je to niz znakova koji se može koristiti kao uzorak. Dobra stvar je što Python ima vlastiti ugrađeni Regex paket poznat kao re.

Sintaksa:

Razumjet ćemo sintaksu primjerom. Primjer za to možemo pretražiti niz da bismo vidjeli je li započinje s "He" i završava sa "smart".

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

Ako pogledate sintaksu, vrlo je jednostavno, prvo morate uvesti regex paket koji je ponovno, a zatim koristiti bilo koju funkciju uvezenog paketa prema vašem zahtjevu. Ako u Jupyteru pokrenemo gornji uzorak koda, dobit ćemo donji rezultat.

Regex funkcije u Pythonu

Postoje mnoge funkcije izraza koji nam pomažu u pretraživanju niza za podudaranje. Prije toga prvo ćemo naučiti o likovima koje općenito vidimo u regex funkciji.

()

Predstavlja skup znakova.

,

Predstavlja bilo koji znak, osim nove linije.

*

Predstavlja nula ili više pojava.

+

Predstavlja jednu ili više pojava.

^

Predstavlja početni lik

$

Predstavlja završni znak.

|

Predstavlja ili.

()

Predstavlja hvatanje i grupiranje.

\

Obično se koristi za bijeg od posebnih znakova

Regex također ima nekoliko posebnih nizova koji će biti korisni za primjer:

\ w

Prikazuje podudaranje ako niz ima bilo koji skup znakova riječi iz (0-9), AZ ili az i podcrtavanje.

\ W

Vraća podudaranje ako niz nema prisutne znakove riječi.

\ d

Ti se rezultati podudaraju kada u nizu postoje znamenke.

\ D

Suprotno je prethodnom jer vraća podudaranje ako u nizu nema cifara.

\ s

Koristi se za provjeru ima li bijelih znakova u nizu. Vraća se podudaranje ako su prisutni bijeli znakovi.

\ S

Vraća podudaranje kada u nizu nema bijelih razmaka.

Funkcije koje se koriste u Regex operacijama

Pogledajmo različite funkcije re modula koje se mogu koristiti za operacije regex-a u pythonu.

1. findall () funkcija: Ova je funkcija prisutna u re modulu. Vraća popis svih podudaranja u nizu. Ponavlja s lijeva na desno preko niza. Utakmice se također vraćaju po točno istom redoslijedu pretraživanja. Proći ćemo primjer toga. Pretpostavimo da želimo pronaći sve znamenke u nizu. Za to ćemo upotrijebiti funkciju findall () u kojoj ćemo pronaći sve znamenke prisutne u nizu. Pogledajmo sada kod za ovo:

Kodirati:

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)

Ako prođemo kroz kôd, u osnovi nam je dodijeljena riječ varijable s nizom koji sadrži znamenke, a zatim prosljeđujemo odgovarajući regex simbol za znamenke zajedno s riječom varijable kao argumentima u funkciji findall ()

Sada, da vidimo izlaz.

Kao što vidite, kao rezultat dobivamo popis brojeva.

2. search () funkcija: Funkcija pretraživanja koristi se za pretraživanje obrazaca u nizu i ako se pronađe podudaranje vraća objekt. Ovdje jedna stvar koju moramo imati na umu jest ako postoji više podudaranja, tada se vraća samo prva pojava. Ako ne bude pronađena nijedna podudarnost, ne vraća se ništa. Vidjet ćemo primjer ove pretpostavke ako želimo pronaći niz koji započinje s određenom riječju. Testirat ćemo i slučajeve pozitivnih i negativnih podudaranja. Da vidimo kod za isto.

Kodirati:

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)

Ovdje se varijabla 'regex' koristi u pozitivnom scenariju, a varijabla 'regex1' za negativni scenarij. Sada pogledajte izlaz.

U prvom slučaju vraćamo objekt podudaranja, dok u drugom slučaju vraćamo 'None'.

3. Funkcija razdvajanja (): Ova funkcija dijeli niz nakon svakog podudaranja što znači da čim postoji podudaranje u nizu, ova funkcija dijeli niz odatle. Ako postoje tri utakmice, bit će tri podjele. Vidjet ćemo primjer. Pretpostavimo da želimo podijeliti niz nakon svakog razmaka. Dakle, ovu podijeljenu funkciju možemo dobro iskoristiti u toj situaciji.

Kodirati:

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

Ovdje obrasci predstavljaju lik bijelog prostora. Sada pogledajmo izlaz.

Kao što vidite u izlazu, niz se dijeli nakon svakog razmaka.

4. sub () funkcija: Ova funkcija zamjenjuje podudaranje s nizom ili znakom po izboru korisnika. To u osnovi znači da ako postoji podudaranje u nizu, zamijenit će podudarni znak ili niz vašim nizom ili znakom i vratiti modificirani niz. Potrebna su tri argumenta. Na primjer, jednostavno ćemo zamijeniti bijeli prostor s '&' u našem nizu.

Kodirati:

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

Sada pogledajmo izlaz za gornji kod.

Kao što vidite, svi su prostori zamijenjeni sa '&'.

Zaključak

U ovom smo članku razmotrili regex modul i njegove različite Python-ove ugrađene funkcije. Regex je vrlo važan i široko se koristi u raznim programskim jezicima.

Preporučeni članci

Ovo je vodič za Python Regex. Ovdje ćemo raspravljati o Uvodu Python Regex-a i nekim važnim regex funkcijama zajedno s primjerom. Možete i proći kroz naše druge predložene članke da biste saznali više -

  1. Dok je petlja u Pythonu
  2. Obrnuti broj u Pythonu
  3. Python Ključne riječi
  4. Python setovi
  5. PHP Ključne riječi
  6. C ++ Ključne riječi

Kategorija: