Introducere în Python Regex

Python este cuvântul cheie din industria tehnologică din zilele noastre. Este un limbaj care câștigă popularitate într-un ritm rapid. Este un limbaj foarte dinamic și poate fi folosit pentru a construi aplicații web pentru algoritmi de învățare automată. În acest articol, vom afla despre modul în care este utilizat Regex în Python. Un regex este o formă scurtă de expresie regulată și este practic o secvență de caractere care poate fi folosită ca model. Lucrul bun este că Python are propriul său pachet Regex încorporat cunoscut sub numele de re.

Sintaxă:

Vom înțelege sintaxa cu un exemplu. De exemplu, putem căuta un șir pentru a vedea dacă începe cu „El” și se termină cu „inteligent”.

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

Dacă priviți sintaxa, este foarte simplu, trebuie doar să importați mai întâi pachetul regex care este re și apoi să utilizați oricare dintre funcțiile pachetului importat conform cerințelor dvs. Dacă rulăm codul eșantionului de mai sus în Jupyter obținem rezultatul de mai jos.

Funcții Regex în Python

Există multe funcții regex care ne ajută să căutăm un șir pentru o potrivire. Înainte de aceasta, vom afla mai întâi despre personajele pe care le vedem în general într-o funcție regex.

()

Reprezintă un set de personaje.

.

Reprezintă orice personaj, cu excepția unei linii noi.

*

Reprezintă zero sau mai multe apariții.

+

Reprezintă una sau mai multe întâmplări.

^

Reprezintă personajul de pornire

$

Reprezintă caracterul final.

|

Reprezintă fie-fie.

()

Reprezintă captarea și gruparea.

\

Este folosit în general pentru a scăpa de caractere speciale

Regex are, de asemenea, câteva secvențe speciale care vor fi utile de știut, de exemplu:

\ w

Afișează o potrivire dacă șirul are un set de caractere de cuvânt de la (0-9), AZ sau az și subliniere.

\ W

Se returnează o potrivire dacă șirul nu are caractere cuvinte.

\ d

Aceste returnări se potrivesc atunci când există cifre în șir.

\ D

Este opus celui precedent, întrucât se întoarce dacă nu există cifre în șir.

\ s

Este folosit pentru a verifica dacă există caractere de spațiu alb într-un șir. Se întoarce se potrivește dacă sunt prezente caractere de spațiu alb.

\ S

Se întoarce la potrivire atunci când nu există spații albe în șir.

Funcții utilizate pentru operații Regex

Să vedem diverse funcții ale modulului re, care pot fi utilizate pentru operațiunile regex în python.

1. funcție findall (): Această funcție este prezentă în modulul re. Întoarce o listă cu toate meciurile prezente în șir. Se iterează de la stânga la dreapta peste șir. Meciurile sunt, de asemenea, returnate în aceeași ordine de căutare. Vom parcurge un exemplu în acest sens. Să presupunem că vrem să găsim toate cifrele prezente într-un șir. Pentru aceasta, vom folosi funcția findall () în care vom găsi toate cifrele prezente în șir. Haideți să vedem codul pentru asta acum:

Cod:

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)

Dacă parcurgem codul, ni se atribuie practic cuvântul variabil cu un șir care conține cifre și apoi trecem simbolul regex corespunzător pentru cifre împreună cu cuvântul variabil ca argumente în funcția findall ()

Acum, să vedem ieșirea.

După cum vedeți, obținem o listă de numere ca urmare.

2. Funcția căutare (): funcția de căutare este utilizată pentru a căuta tiparele într-un șir și dacă se găsește o potrivire returnează obiectul. Aici un lucru pe care trebuie să-l amintim este dacă există mai multe meciuri, atunci se întoarce doar prima apariție. Dacă nu se găsește nici o potrivire, nu se va întoarce niciuna. Vom vedea un exemplu pentru acest lucru să presupunem dacă dorim să găsim șirul care începe cu un anumit cuvânt. Vom testa atât cazurile pozitive, cât și cele negative. Să vedem codul pentru același lucru.

Cod:

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)

Aici variabila 'regex' este folosită într-un scenariu pozitiv și variabila 'regex1' pentru un scenariu negativ. Acum vă rugăm să vedeți ieșirea.

În primul caz, obținem obiectul meciului returnat, în timp ce în cel de-al doilea caz primim „Niciunul”.

3. Funcția Split (): Această funcție împarte șirul după fiecare potrivire, ceea ce înseamnă imediat ce există o potrivire în șir, această funcție împarte șirul de acolo. Deci, dacă există trei meciuri, atunci vor fi trei împărțiri. Vom vedea un exemplu. Să presupunem că vrem să împărțim un șir după fiecare spațiu. Deci, putem folosi această funcție de divizare pentru a folosi bine în acea situație.

Cod:

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

Aici tiparele reprezintă caracterul spațiului alb. Acum să vedem ieșirea.

După cum puteți vedea în ieșire, șirul este împărțit după fiecare spațiu.

4. funcția sub (): Această funcție înlocuiește potrivirile cu șirul sau caracterul ales de utilizatori. Practic înseamnă că, dacă există o potrivire în șir, acesta va înlocui acel personaj sau coadă potrivită cu șirul sau caracterul dvs. și va returna șirul modificat. Este nevoie de trei argumente. De exemplu, vom înlocui doar spațiul alb cu „&” în șirul nostru.

Cod:

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

Acum să ne uităm la ieșirea pentru codul de mai sus.

După cum vedeți, toate spațiile au fost înlocuite cu „&”.

Concluzie

În acest articol, am discutat modulul regex și diferitele sale funcții Python Built-in. Regex este foarte important și este utilizat pe scară largă în diferite limbaje de programare.

Articole recomandate

Acesta este un ghid pentru Python Regex. Aici vom discuta Introducerea în Python Regex și câteva funcții regex importante împreună cu un exemplu. Puteți parcurge și alte articole sugerate pentru a afla mai multe -

  1. În timp ce Loop în Python
  2. Numărul invers în Python
  3. Cuvinte cheie Python
  4. Seturi Python
  5. Cuvinte cheie PHP
  6. Cuvinte cheie C ++