Python

Regulaaravaldised Pythonis

Regulaaravaldised Pythonis
Selles artiklis vaatleme põgusalt regulaaravaldisi. Töötame sisseehitatud funktsioonide kallal koos näidetega, millele järgneb tabel, mis selgitab parema mõistmise huvides iga märgi regulaaravaldises tähendust.

Mis on regulaarne väljend?

Enne praktiliste näidete poole liikumist peame teadma, mis on regulaarne väljend tegelikult. Tavaväljend on tähemärkide jada, mis määrab sisendi või otsingumustri struktuuri. Kujutage ette, et sisestate mõnele juhuslikule veebisaidile nagu Facebook, Twitter või Microsoft e-posti aadressi või parooli. Proovige seda valesti panna ja vale all mõtlen proovida minna vastuollu nende konventsiooniga. See toob need vead teie jaoks selgelt välja. Teil pole lubatud minna järgmisse sammu enne, kui teie sisestus vastab mustrile, mille nad on taustaprogrammis seadnud. Seda spetsiifilist mustrit, mis piirab igasuguse täiendava või ebaolulise teabe sisestamist, nimetatakse regeksiks või regulaaravaldiseks.

Regulaaravaldised Pythonis

Regulaarsed avaldised ei mängi pythonis teist rolli nagu teistes programmeerimiskeeltes. Python sisaldab moodulit re mis toetab regulaaravaldiste kasutamist täielikult. Iga kord, kui sisestatakse sobimatu või sobimatu teave või ilmneb mis tahes viga, on see re moodul püüab seda erandina, mis lõpuks aitab lahendada vajalikud probleemid.

Regulaaravaldiste mustrid

Saadaval on palju märke, mis on kirjutatud järjestusse, mis teeb kindla regulaaravaldise mustri. Välja arvatud kontrollmärgid, (+ ? . * ^ $ () [] | \), kõik tegelased sobivad iseendaga. Kontrollmärkidest saab aga tagasilöögi ette kirjutades põgeneda.

Järgnevas tabelis on muster ja kirjeldus nende töötamise kohta pythonis.

Muster Kirjeldus
[Pp] ython Sobitage "Python" või "python"
Vann [Ee] Sobitage "TubE" või "Tube"
[aeiou] Sobib mis tahes väiketähega
[0–9] Sobitage mis tahes arv vahemikus 0 kuni 9
[a-z] Sobib mis tahes väiketähega ASCII tähega
[A-Z] Sobitage mis tahes suurtähega ASCII täht
[a-zA-Z0-9] Sobitage mis tahes väikeste ja väikeste tähtedega ASCII tähed
või number vahemikus 0 kuni 9
[^ aeiou] Sobitage ükskõik mida, kuid mitte väiketähti
[^ 0–9] Sobitage ükskõik mida, kuid mitte numbrit
. Sobita mis tahes tähemärgiga, välja arvatud uus rida
\ d Sobib mis tahes numbriga: [0–9]
\ D Sobita mittekohaline: [^ 0-9]
\ s Sobitage tühikud
\ S Sobitage mitte-tühikud
\ A Sobita stringi algus
\ Z Sobita stringi lõpp
\ w Sobita sõnamärgid
\ W Mittesõnaliste tähemärkide sobitamine
[…] Sobitage ükski sulgudes olev märk
[^…] Sobitage ükski märk, mis pole sulgudes
$ Sobitage rea lõppu
^ Sobitage rea algus

Sobitamis- ja otsingufunktsioonid Pythonis

Nüüd näeme siin kahte näidet Pythonis olemasolevate kahe sisseehitatud funktsiooniga. Üks on vaste ja teine ​​otsingufunktsioon. Mõlemad võtavad samad parameetrid, mis on järgmised:

Enne näiteosasse hüppamist on veel üks asi, mida peate teadma. Sobivate rühmade saamiseks võib kasutada kahte meetodit, mis on järgmised:

Mis juhtub, on see, et kui kasutatakse vaste- või otsingufunktsioone, muudab see kõigi stringides leiduvate seotud mustrite alarühmad ja struktureerib need positsioonidel alates 0. Parema idee saamiseks vaadake allolevat näidet.

Sobitusfunktsioon (näide)

Järgmises näites oleme võtnud nimekirja, milles oleme kasutanud regulaaravaldist, mis kontrollib a-tähega algavaid sõnu ja valib ainult siis, kui mõlemad sõnad algavad sama tähega i.e.: "a".

impordi re
arraylist = ["kiindumuse mõjutamine", "kiindumusakt", "kiindumuse programmeerimine"]
massiivi loendi elemendi jaoks:
k = re.vaste („(a \ w +) \ W (g \ w +)”, element)
kui k:
print ((z.rühmad ()))

Väljund:

("kiindumus", "mõjutus")
('kiindumus', 'tegu')

Loendi kolmandat elementi ei arvestata, kuna see ei vasta regeksile, mis ütleb, et mõlemad sõnad peaksid algama tähega „a”.

Otsingufunktsioon (näide)

See funktsioon erineb matšist. Otsing otsib kogu lause läbi, samas kui vaste mitte. Järgmises näites on otsingumeetod edukas, aga vastefunktsioon mitte.

impordi re
Sisend = "DocumentationNew"
v = re.otsing (“(ta.*)", Sisend)
kui v:
print (“tulemus:” v.rühm (1))

Väljund:

tulemus: tationUus

'ta.* 'tähendab midagi pärast ta-d, mis annab meile otsitava sisendi „DocumentationNew” tulemuse „tationNew”.

Järeldus

Regulaaravaldised on kõigi tarkvaraarendajate jaoks üliolulised ja nüüd näete Pythoni programmeerimiskeeles regulaarsete avaldiste kasutamist hõlpsalt.

Nende tasuta tööriistade abil lisage Windows 10-le hiire liigutused
Viimastel aastatel on arvutid ja operatsioonisüsteemid palju arenenud. Oli aeg, mil kasutajad pidid failihaldurites navigeerimiseks kasutama käske. Na...
Juhtige ja hallake hiire liikumist mitme kuvari vahel Windows 10-s
Dual Display Mouse Manager võimaldab teil kontrollida ja konfigureerida hiire liikumist mitme monitori vahel, aeglustades selle liikumist piiri läheda...
WinMouse võimaldab teil kohandada ja parandada hiirekursori liikumist Windowsi arvutis
Kui soovite oma hiirekursori vaikefunktsioone paremaks muuta, kasutage vabavara WinMouse. See lisab rohkem funktsioone, mis aitavad teil alandlikust h...