Piton

Reguláris kifejezések a Pythonban

Reguláris kifejezések a Pythonban
Ebben a cikkben röviden áttekintjük a Python rendszeres kifejezését. Beépített függvényeken fogunk dolgozni, példákkal, majd egy táblázattal, amely elmagyarázza, hogy az egyes karakterek mit jelentenek a reguláris kifejezésben a jobb megértés érdekében.

Mi a szabályos kifejezés?

Mielőtt a gyakorlati példák felé haladnánk, tudnunk kell, hogy mi is a szabályos kifejezés valójában. A reguláris kifejezés egy olyan karaktersorozat, amely meghatározza az input vagy a keresési minta felépítését. Képzelje el, hogy e-mailt vagy jelszót ír be valamilyen véletlenszerű weboldalra, például a Facebookra, a Twitterre vagy a Microsoftra. Próbáld rosszul megfogalmazni, és rosszul értem, próbáld meg szembeszállni a konvenciójukkal. Világosan rámutat ezekre a hibákra az Ön számára. Addig nem folytathatja a következő lépést, amíg a bevitel nem egyezik a háttérbe beállított mintával. Ezt a sajátos mintát, amely korlátozza bármilyen további vagy irreleváns információ megadását, regexnek vagy reguláris kifejezésnek nevezzük.

Reguláris kifejezések a Pythonban

A reguláris kifejezéseknek nincs más szerepük a pythonban, mint más programozási nyelvekben. A Python tartalmazza a modult újra amely teljes támogatást nyújt a reguláris kifejezések használatához. Bármikor, amikor nem megfelelő vagy párosíthatatlan információt ad meg, vagy bármilyen hiba történik, ez történik újra modul kivételként fogja elkapni, ami végül segít megoldani a szükséges problémákat.

Reguláris kifejezések mintái

Nagyon sok karakter áll rendelkezésre olyan sorrendben, amely egy meghatározott reguláris kifejezésmintát készít. Kivéve a vezérlő karaktereket, (+ ? . * ^ $ () [] | \), minden szereplő megegyezik önmagával. A vezérlő karakterek azonban kikerülhetők egy visszavágás előírásával.

Az alábbiakban egy táblázat található, amely egy mintát és leírást tartalmaz a pythonban végzett munkájukról.

Minta Leírás
[Pp] ython A „Python” vagy a „python” egyezés
Kád [Ee] A „TubE” vagy a „Tube” mérkőzés
[aeiou] Egyezzen bármilyen kisbetűvel
[0–9] Bármelyik számjegyet egyeztesse 0 és 9 között
[a-z] Egyezzen bármilyen kisbetűs ASCII betűvel
[A-Z] Illesszen bármilyen nagybetűs ASCII betűt
[a-zA-Z0-9] Egyezzen bármilyen kis- és nagybetűs ASCII betűvel
vagy 0 és 9 közötti számjegy
[^ aeiou] Bármihez illeszkedjen, de ne a kisbetűs magánhangzókhoz
[^ 0–9] Bármivel egyezzen, de ne számjeggyel
. Bármely karakter egyeztetése, kivéve az új sort
\ d Bármely számjegy egyezése: [0–9]
\ D Nem számjegy egyeztetése: [^ 0-9]
\ s Illessze be a fehér mezőket
\ S Illessze a nem fehér szóközöket
\ A A karakterlánc elejének egyezése
\ Z Megfelel a húr végének
\ w Egyezik a szó karaktereivel
\ W Nem szó szerinti karakterek egyeztetése
[…] Bármelyik karaktert illessze zárójelben
[^…] Egyetlen karaktert illesszen be zárójelben
$ Illessze a sor végét
^ Illessze a sor elejét

Egyeztetési és keresési funkciók a Pythonban

Most itt két példát fogunk látni a pythonban létező két beépített funkcióval. Az egyik egyezés, a másik pedig keresési funkció. Mindkettő ugyanazokat a paramétereket veszi fel, amelyek a következők:

Mielőtt áttérnénk a példa részre, itt van egy másik dolog, amelyet tudnia kell. Két módszer használható a következő csoportok megszerzésére:

Az történik, hogy ha egyezési vagy keresési függvényeket használunk, akkor a sztringekben található összes kapcsolódó minta alcsoportjait alkotja, és 0-tól kezdve strukturálja őket. Lásd az alábbi példát, hogy minél jobb ötletet kapjon.

Egyezés funkció (példa)

A következő példában vettünk egy listát, amelyben használtunk egy reguláris kifejezést, amely ellenőrzi az 'a' betűvel kezdődő szavakat, és csak akkor választ, ha mindkét szó ugyanazzal az i betűvel kezdődik.e.: „a”.

import re
arraylist = [“affection affektus”, “affection act”, “affection programozás”]
a tömblista eleméhez:
k = re.egyezés („(a \ w +) \ W (g \ w +)”, elem)
ha k:
nyomtat ((z.csoportok ()))

Kimenet:

(„szeretet”, „befolyás”)
(„szeretet”, „cselekedet”)

A lista harmadik elemét nem vesszük figyelembe, mivel nem egyezik a szokásos kifejezéssel, amely szerint mindkét szónak „a” -val kell kezdődnie.

Keresési funkció (példa)

Ez a funkció különbözik az egyezéstől. A keresés az egész mondatot végigpásztázza, míg az egyezés nem. Az alábbi példában a keresési módszer sikeres, de az egyezés funkció nem.

import re
Input = „DocumentationNew”
v = re.keresés („(ta.*) ”, Bemenet)
ha v:
nyomtatás („eredmény:” v.csoport (1))

Kimenet:

eredmény: tationNew

'ta.* * a „ta” után bármit jelent, ami „tationNew” -ként adja meg eredményünket a keresett „DocumentationNew” bemenetből.

Következtetés

A reguláris kifejezések kulcsfontosságúak az összes szoftverfejlesztő számára, és most már könnyen láthatja, hogyan kell használni a reguláris kifejezéseket a Python programozási nyelven.

Az egér bal oldali gombja nem működik a Windows 10 rendszeren
Ha dedikált egeret használ laptopjával vagy asztali számítógépével, de a az egér bal gombja nem működik a Windows 10/8/7 rendszeren valamilyen oknál f...
A kurzor véletlenszerűen ugrik vagy mozog, miközben gépel a Windows 10-ben
Ha úgy találja, hogy az egér kurzor önállóan, automatikusan, véletlenszerűen ugrik vagy mozog, miközben gépel Windows laptopba vagy számítógépbe, akko...
Az egér és az érintőpadok görgetési irányának megfordítása a Windows 10 rendszerben
Egér és Érintőpads nemcsak a számítást könnyűvé, de hatékonyabbá és kevésbé időigényessé is teszi. Nem tudunk elképzelni egy életet ezek nélkül az esz...