Modul Regular Expressions(RE) megadja a megfelelő karakterláncok(pattern) halmazát.
A RE analógia megértéséhez a MetaCharacters hasznosak, fontosak és a re modul függvényeiben fogjuk használni.
Ez összesen 14 metakarakter van, és a függvényekbe követve tárgyaljuk őket:

\ 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
  • Function compile()
    A szabályos kifejezéseket mintaobjektumokká fordítjuk, amelyek különböző műveletekhez, például mintaegyezések kereséséhez vagy karakterlánc-helyettesítések elvégzéséhez rendelkeznek metódusokkal.
Python

.

import re
p = re.compile('')
print(p.findall("Aye, said Mr. Gibenson Stark"))



Kimenet:


A kimenet megértése:
Az első előfordulás az “e” az “Aye”-ban, és nem az “A”, mivel nagy- és kisbetű érzékeny.
A következő előfordulás ‘a’ a “said”-ban, majd ‘d’ a “said”-ban, ezt követi ‘b’ és ‘e’ a “Gibenson”-ban, az utolsó ‘a’ megegyezik a “Stark”-kal.
A ‘\’ metafora karakter nagyon fontos szerepet játszik, mivel különböző szekvenciákat jelez. Ha a backslash-t a metacharakter különleges jelentése nélkül akarjuk használni, használjuk a’\\’

Az osztály bármely szóköz karakterrel, ‘,’, vagy,’.’ .

Kimenet:


Kimenet:


Python

.

import re
p = re.compile('ab*')
print(p.findall("ababbaabbb"))



Kimenet:


A kimenet megértése:
A RE-nk ab*, amely ‘a’-t tetszőleges számú ‘b’ kíséri, 0-tól kezdődően.
A ‘ab’ kimenet érvényes, mert egyetlen ‘a’-t egyetlen ‘b’ kísér.
Az “abb” kimenet érvényes, mert egyetlen “a”-t 2 “b” kísér.
Az “a” kimenet érvényes, mert az “a”-t 0 “b” kíséri.
A ‘abbb’ kimenet, érvényes, mert az egyszerű ‘a’-t 3 ‘b’ kíséri.

  • Function split()
    A stringet egy karakter vagy egy minta előfordulása alapján osztja fel, a minta megtalálása után a stringből megmaradt karaktereket a kapott lista részeként adja vissza.
    Szintaktika :
 re.split(pattern, string, maxsplit=0, flags=0)

Az első paraméter, pattern a reguláris kifejezést jelöli, string a megadott string, amelyben a mintát keresi, és amelyben a felosztás történik, maxsplit ha nincs megadva, akkor nullának ‘0’ tekintendő, és ha bármilyen nem nulla értéket adunk meg, akkor legfeljebb annyi felosztás történik. Ha maxsplit = 1, akkor a karakterlánc csak egyszer lesz felosztva, ami egy 2 hosszúságú listát eredményez. A flagek nagyon hasznosak és segíthetnek a kód rövidítésében, nem szükséges paraméterek, pl.: flags = re.IGNORECASE, Ebben a felosztásban a nagy- és kisbetűket figyelmen kívül hagyjuk.

Kimenet:


Output:


  • Function sub()
    Syntax:
 re.sub(pattern, repl, string, count=0, flags=0)

A ‘sub’ a függvényben a SubString-et jelenti, egy bizonyos reguláris kifejezés mintát keres a megadott stringben(3. paraméter), és a találásakor a substring mintát repl(2. paraméter) helyettesíti, count ellenőrzi és karbantartja, hogy ez hányszor fordul elő.

Kimenet

S~*ject has ~*er booked alreadyS~*ject has Uber booked alreadyS~*ject has Uber booked alreadyBaked Beans & Spam
  • Function subn()
    Syntax:
 re.subn(pattern, repl, string, count=0, flags=0)

subn() mindenben hasonlít a sub()-hoz, kivéve a kimenet megadásának módját. Egy tuple-t ad vissza, amely az összes csere és az új karakterlánc számát tartalmazza, ahelyett, hogy csak a karakterláncot adná vissza.

Kimenet

('S~*ject has Uber booked already', 1)('S~*ject has ~*er booked already', 2)Length of Tuple is: 2S~*ject has ~*er booked already
  • Function escape()
    Syntax:
re.escape(string)

Visszaadja a karakterláncot minden nem alfanumerikus karakterrel backslashed, ez akkor hasznos, ha egy tetszőleges szó szerinti karakterláncot akar megfeleltetni, amely tartalmazhat reguláris kifejezés metakaraktereket.

Python

import re
print(re.escape("This is Awseome even 1 AM"))
print(re.escape("I Asked what is this , he said \t ^WoW"))



Kimenet

This\ is\ Awseome\ even\ 1\ AMI\ Asked\ what\ is\ this\ \,\ he\ said\ \ \ \^WoW

Ez a cikk Piyush Doorwar hozzájárulása. Ha tetszik a GeeksforGeeks és szeretnél hozzájárulni, írhatsz cikket a contribute.geeksforgeeks.org oldalon, vagy elküldheted a cikkedet a [email protected] címre. Lásd, hogy a cikked megjelenik a GeeksforGeeks főoldalán, és segíts más geekeknek.
Kérlek, írj megjegyzéseket, ha hibát találsz, vagy ha további információkat szeretnél megosztani a fent tárgyalt témával kapcsolatban.

Attention geek! Erősítse meg alapjait a Python programozási alaptanfolyammal, és tanulja meg az alapokat.

Az interjúra való felkészülés megkezdéséhez Fejlessze az adatszerkezetek fogalmait a Python DS tanfolyammal.

Cikk Címkék :

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.