Python

Regulārās izteiksmes Python

Regulārās izteiksmes Python
Šajā rakstā mēs īsi apskatīsim regulāros izteicienus pitonā. Mēs strādāsim ar iebūvētām funkcijām ar piemēriem, kam sekos tabula, kurā skaidrots, ko katrs raksturs nozīmē regulārā izteiksmē, lai labāk izprastu.

Kas ir regulāra izteiksme?

Pirms mēs virzāmies uz praktiskiem piemēriem, mums jāzina, kas patiesībā ir regulāra izteiksme. Regulārā izteiksme ir rakstzīmju secība, kas nosaka ievades vai meklēšanas modeļa struktūru. Iedomājieties, kā ievietot e-pastu vai paroli kādā nejaušā vietnē, piemēram, Facebook, Twitter vai Microsoft. Mēģiniet to nepareizi formulēt, un ar nepareizu es domāju mēģināt iet pretēji viņu konvencijai. Tas jums skaidri norādīs uz šīm kļūdām. Jums nebūs atļauts pāriet uz nākamo soli, kamēr jūsu ievadītā informācija nesaskanēs ar modeli, ko viņi iestatījuši aizmugurē. Šis konkrētais modelis, kas neļauj ievietot jebkādu papildu vai neatbilstošu informāciju, tiek dēvēts par regulāru izteiksmi vai regulāru izteiksmi.

Regulārās izteiksmes Python

Regulārajām izteiksmēm python nav atšķirīgas daļas kā citās programmēšanas valodās. Python satur moduli re kas pilnībā atbalsta regulāro izteicienu izmantošanu. Katru reizi, kad tiek ievadīta nepiemērota vai neatbilstoša informācija vai rodas kāda veida kļūda, tas notiek re modulis to uztvers kā izņēmumu, kas galu galā palīdzēs atrisināt nepieciešamās problēmas.

Regulāro izteiksmju modeļi

Ir daudz rakstzīmju, kas rakstītas secībā, kas veido īpašu regulāru izteiksmju modeli. Izņemot vadības rakstzīmes, (+ ? . * ^ $ () [] | \), visas rakstzīmes sakrīt ar sevi. Tomēr vadības rakstzīmes var izvairīties, pārrakstot atpakaļ slīpsvītru.

Tālāk ir tabula, kas sastāv no modeļa un apraksta par viņu darbību pitonā.

Modelis Apraksts
[Pp] ython Atbilst “Python” vai “python”
Vanna [Ee] Spēle “TubE” vai “Tube”
[patskaņi] Sakrīt ar jebkuru mazo patskaņu
[0-9] Saskaņojiet jebkuru ciparu no 0 līdz 9
[a-z] Saskaņojiet jebkuru mazo burtu ASCII burtu
[A-Z] Sakrīt ar jebkuru lielo burtu ASCII
[a-zA-Z0-9] Saskaņojiet jebkuru mazo un lielo ASCII burtu
vai cipars no 0 līdz 9
[^ aeiou] Saskaņojiet jebko, bet ne mazos patskaņus
[^ 0-9] Saskaņojiet jebko, bet ne ciparu
. Saskaņojiet jebkuru rakstzīmi, izņemot jauno līniju
\ d Atbilst jebkuram ciparam: [0-9]
\ D Sakrīt ar ciparu: [^ 0-9]
\ s Saskaņojiet atstarpes
\ S Saskaņojiet ne-baltās atstarpes
\ A Sakritības virknes sākums
\ Z Sakrīt virknes beigas
\ w Sakrīt vārdu rakstzīmes
\ W Sakrīt ar vārdiem nesaistītas rakstzīmes
[…] Saskaņojiet iekavās jebkuru atsevišķu rakstzīmi
[^…] Saskaņojiet jebkuru atsevišķu rakstzīmi, kas nav iekavās
$ Atbilst rindas beigām
^ Atbilst rindas sākumam

Spēles un meklēšanas funkcijas Python

Tagad šeit mēs redzēsim divus piemērus ar divām iebūvētām funkcijām, kas pastāv pitonā. Viens ir spēles, bet otrs - meklēšanas funkcija. Abiem tiem ir vienādi parametri, kas ir šādi:

Pirms mēs pārejam uz piemēru, šeit ir vēl viena lieta, kas jums jāzina. Lai iegūtu atbilstošas ​​grupas, var izmantot divas metodes, kas ir šādas:

Tas notiek, ka, ja tiek izmantotas atbilstības vai meklēšanas funkcijas, tas padara visu virkņu saistīto modeļu apakšgrupas un strukturē tos pozīcijās, sākot no 0. Lai iegūtu labāku ideju, skatiet zemāk redzamo piemēru.

Atbilstības funkcija (piemērs)

Šajā piemērā mēs esam izveidojuši sarakstu, kurā mēs izmantojām regulāru izteiksmi, kas pārbauda vārdus, kas sākas ar burtu "a", un atlasīs tikai tad, ja abi vārdi sākas ar vienu un to pašu burtu i.e.: "a".

importa re
arraylist = [“pieķeršanās ietekme”, “pieķeršanās akts”, “pieķeršanās programmēšana”]
elementam masīvu sarakstā:
k = re.sakritība (“(a \ w +) \ W (g \ w +)”, elements)
ja k:
drukāt ((z.grupas ()))

Izeja:

(“pieķeršanās”, “ietekme”)
(“pieķeršanās”, “darbība”)

Trešais saraksta elements netiks uzskatīts, jo tas neatbilst regulārajam izteicienam, kurā teikts, ka abiem vārdiem jāsākas ar “a”.

Meklēšanas funkcija (piemērs)

Šī funkcija atšķiras no spēles. Meklēšana skenē visu teikumu, bet atbilstība nav. Šajā piemērā meklēšanas metode ir veiksmīga, bet spēles funkcija nav.

importa re
Ievade = “DocumentationNew”
v = re.meklēt (“(ta.*) ”, Ievade)
ja v:
drukāt (“rezultāts:” v.grupa (1))

Izeja:

rezultāts: tationNew

'ta.* ”nozīmē jebko aiz“ ta ”, kas mums dod rezultātu kā“ tationNew ”no meklētās ievades“ DocumentationNew ”.

Secinājums

Regulārās izteiksmes ir izšķirošas visiem programmatūras izstrādātājiem, un tagad jūs varat viegli redzēt, kā izmantot regulārās izteiksmes Python programmēšanas valodā.

OpenTTD vs Simutrans
Transporta simulācijas izveide var būt jautra, relaksējoša un ārkārtīgi vilinoša. Tāpēc jums jāpārliecinās, ka izmēģināt pēc iespējas vairāk spēļu, la...
OpenTTD apmācība
OpenTTD ir viena no populārākajām biznesa simulācijas spēlēm. Šajā spēlē jums ir jāizveido brīnišķīgs transporta bizness. Tomēr jūs sāksit sākumā apmē...
SuperTuxKart operētājsistēmai Linux
SuperTuxKart ir lielisks nosaukums, kas paredzēts, lai sniegtu jums Mario Kart pieredzi bez maksas jūsu Linux sistēmā. Tas ir diezgan izaicinoši un ja...