Module Expresii regulate(RE) specifică un set de șiruri de caractere(pattern) care se potrivește.
Pentru a înțelege analogia RE, MetaCaracterele sunt utile, importante și vor fi folosite în funcțiile modulului re.
Există un total de 14 metacaractere și vor fi discutate pe măsură ce vor urma în funcții:
\ Used to drop the special meaning of character following it (discussed below) Represent a character class^ Matches the beginning$ Matches the end. Matches any character except newline? Matches zero or one occurrence.| Means OR (Matches with any of the characters separated by it.* Any number of occurrences (including 0 occurrences)+ One or more occurrences{} Indicate number of occurrences of a preceding RE to match.() Enclose a group of REs
- Funcția compile()
Expresiile regulate sunt compilate în obiecte model, care au metode pentru diverse operații, cum ar fi căutarea de corespondențe de model sau efectuarea de substituiri de șiruri de caractere.
.
import
re
p
=
re.
compile
(
''
)
print
(p.findall(
"Aye, said Mr. Gibenson Stark"
))
Scoatere:
Înțelegerea ieșirii:
Prima apariție este „e” în „Aye” și nu „A”, deoarece este sensibil la majuscule și minuscule.
Următoarea apariție este „a” în „said”, apoi „d” în „said”, urmată de „b” și „e” în „Gibenson”, ultimul „a” se potrivește cu „Stark”.
Metacaracterul backslash „\” are un rol foarte important, deoarece semnalează diverse secvențe. Dacă backslash-ul trebuie folosit fără semnificația sa specială de metacaracter, folosiți ‘\\’
Clasa de set se va potrivi cu orice caracter de spațiu alb, ‘,’, sau,’.’ .
Scoaterea:
Salire:
.
import
re
p
=
re.
compile
(
'ab*'
)
print
(p.findall(
"ababbaabbb"
))
Scoatere:
Înțelegerea ieșirii:
RE-ul nostru este ab*, care ‘a’ însoțit de un număr oarecare de ‘b’, începând de la 0.
Lovitura ‘ab’, este validă din cauza unui singur ‘a’ însoțit de un singur ‘b’.
Output ‘abb’, este valid datorită unui singur ‘a’ însoțit de 2 ‘b’.
Output ‘a’, este valid datorită unui singur ‘a’ însoțit de 0 ‘b’.
Output ‘abbb’, este valid din cauza unui singur ‘a’ însoțit de 3 ‘b’.
- Funcția split()
Sparge șirul de caractere după ocurențele unui caracter sau ale unui model, la găsirea acelui model, caracterele rămase din șir sunt returnate ca parte a listei rezultate.
Sintaxa :
re.split(pattern, string, maxsplit=0, flags=0)
Primul parametru, pattern denotă expresia regulată, string este șirul dat în care va fi căutat patternul și în care are loc divizarea, maxsplit, dacă nu este furnizat, este considerat a fi zero ‘0’, iar dacă este furnizată orice valoare diferită de zero, atunci are loc cel mult acel număr de divizări. Dacă maxsplit = 1, atunci șirul va fi divizat o singură dată, rezultând o listă de lungime 2. Stegulețele sunt foarte utile și pot ajuta la scurtarea codului, ele nu sunt parametri necesari, de exemplu: flags = re.IGNORECASE, În această divizare, majusculele vor fi ignorate.
Salire:
Salire:
- Funcția sub()
Sintaxa:
re.sub(pattern, repl, string, count=0, flags=0)
„sub” din funcție reprezintă SubString, un anumit model de expresie regulată este căutat în șirul dat (al 3-lea parametru), iar la găsirea modelului de subșir este înlocuit cu repl (al 2-lea parametru), count verifică și menține numărul de ori când se întâmplă acest lucru.
Ieșire
S~*ject has ~*er booked alreadyS~*ject has Uber booked alreadyS~*ject has Uber booked alreadyBaked Beans & Spam
- Funcția subn()
Sintaxa:
re.subn(pattern, repl, string, count=0, flags=0)
subn() este similară cu sub() din toate punctele de vedere, cu excepția modului de a furniza ieșire. Acesta returnează un tuplu cu numărul total de înlocuiri și noul șir, mai degrabă decât doar șirul.
Ieșire
('S~*ject has Uber booked already', 1)('S~*ject has ~*er booked already', 2)Length of Tuple is: 2S~*ject has ~*er booked already
- Funcția escape()
Sintaxa:
re.escape(string)
Întoarce șirul de caractere cu toate caracterele non-alfanumerice backslashed, acest lucru este util dacă doriți să potriviți un șir literal arbitrar care poate avea metacaractere de expresie regulată în el.
.
import
re
print
(re.escape(
"This is Awseome even 1 AM"
))
print
(re.escape(
"I Asked what is this , he said \t ^WoW"
))
Putere
This\ is\ Awseome\ even\ 1\ AMI\ Asked\ what\ is\ this\ \,\ he\ said\ \ \ \^WoW
Acest articol este realizat de Piyush Doorwar. Dacă vă place GeeksforGeeks și doriți să contribuiți, puteți, de asemenea, să scrieți un articol folosind contribute.geeksforgeeks.org sau să trimiteți articolul prin poștă la [email protected]. Vedeți articolul dvs. apărând pe pagina principală GeeksforGeeks și ajutați alți Geeks.
Vă rugăm să scrieți comentarii dacă găsiți ceva incorect, sau dacă doriți să împărtășiți mai multe informații despre subiectul discutat mai sus.
Atenție geek! Întărește-ți bazele cu cursul Python Programming Foundation și învață elementele de bază.
Pentru început, pregătirile pentru interviu Îmbunătățește-ți conceptele de Structuri de date cu cursul Python DS.