„Python“

Reguliarūs posakiai „Python“

Reguliarūs posakiai „Python“
Šiame straipsnyje trumpai apžvelgsime įprastus python posakius. Dirbsime su įmontuotomis funkcijomis su pavyzdžiais ir lentele, kurioje bus paaiškinta, ką kiekvienas simbolis reiškia taisyklingoje išraiškoje, kad geriau suprastumėte.

Kas yra taisyklingoji išraiška?

Prieš pereidami prie praktinių pavyzdžių, turime žinoti, kas iš tikrųjų yra taisyklingoji išraiška. Reguliarioji išraiška yra simbolių seka, apibrėžianti įvesties ar paieškos struktūros struktūrą. Įsivaizduokite, kad įvedėte el. Laišką ar slaptažodį kokioje nors atsitiktinėje svetainėje, pavyzdžiui, „Facebook“, „Twitter“ ar „Microsoft“. Pabandykite tai klaidingai pasakyti, o neteisingai turiu omenyje priešintis jų konvencijai. Tai aiškiai nurodys tas klaidas jums. Jums nebus leista pereiti prie kito veiksmo, kol jūsų įvestis neatitiks šablono, kurį jie nustatė vidinėje pusėje. Šis konkretus modelis, kuris neleidžia jums pateikti jokios papildomos ar nesusijusios informacijos, yra žinomas kaip regex arba reguliarioji išraiška.

Reguliarūs posakiai „Python“

Reguliarūs posakiai neturi jokio skirtingo vaidmens python'e, kaip ir kitose programavimo kalbose. „Python“ yra modulis re kuri teikia visapusišką paramą reguliarių posakių naudojimui. Kiekvieną kartą, kai įvedama netinkama ar neprilygstama informacija arba įvyksta kokia nors klaida, tai re modulis tai sužinos kaip išimtį, kuri galiausiai padės išspręsti reikalingas problemas.

Reguliariųjų išraiškų modeliai

Yra daugybė simbolių, parašytų seka, kuri sukuria tam tikrą taisyklingos išraiškos modelį. Išskyrus kontrolinius simbolius, (+ ? . * ^ $ () [] | \), visi veikėjai sutampa su savimi. Tačiau kontrolinių ženklų galima išvengti perrašant atgalinį brūkšnį.

Toliau pateikiama lentelė, kurią sudaro jų darbo „Python“ schema ir aprašas.

Raštas apibūdinimas
[Pp] ython Atitinka „Python“ arba „python“
Kubilas [Ee] Rungtynės „TubE“ arba „Tube“
[aeiou] Derinkite bet kurią mažųjų raidžių balsę
[0–9] Suderinkite bet kurį skaičių nuo 0 iki 9
[a-z] Suderinkite bet kokias mažąsias ASCII raides
[A-Z] Suderinkite bet kokią didžiųjų raidžių ASCII raidę
[a-zA-Z0-9] Sutapkite bet kokias mažąsias ir didžiąsias ASCII raides
arba skaitmuo nuo 0 iki 9
[^ aeiou] Derinkite bet ką, bet ne mažąsias balses
[^ 0–9] Pritaikykite bet ką, bet ne skaitmenį
. Suderinkite bet kokį simbolį, išskyrus naują eilutę
\ d Suderinkite bet kurį skaitmenį: [0–9]
\ D Sutapkite be skaitmenų: [^ 0-9]
\ s Derinkite baltąsias erdves
\ S Suderinkite ne baltąsias erdves
\ A Rungtynių eilutės pradžia
\ Z Rungtynių pabaiga
\ w Derinti žodžių simbolius
\ W Derinkite ne žodžių simbolius
[…] Sulenkite bet kurį atskirą simbolį skliausteliuose
[^…] Suderinkite bet kurį atskirą simbolį, kuris nėra skliausteliuose
$ Atitinka eilutės pabaigą
^ Atitinka eilutės pradžią

Rungtynių ir paieškos funkcijos „Python“

Dabar mes pamatysime du pavyzdžius su dviem įmontuotomis funkcijomis, egzistuojančiomis pitone. Vienas yra atitikimas, o kitas - paieškos funkcija. Abu jie naudoja tuos pačius parametrus, kurie yra šie:

Prieš pereinant prie pavyzdinės dalies, reikia žinoti dar vieną dalyką. Norint gauti derančias grupes, galima naudoti du metodus:

Atsitinka taip, kad kai naudojamos atitikimo arba paieškos funkcijos, jis sukuria visų susijusių eilučių rastų modelių pogrupius ir struktūrizuoja juos pozicijose nuo 0. Norėdami sužinoti geresnę idėją, žiūrėkite toliau pateiktą pavyzdį.

Rungtynių funkcija (pavyzdys)

Šiame pavyzdyje mes paėmėme sąrašą, kuriame naudojome reguliarią išraišką, kuri tikrina žodžius, prasidedančius raide „a“, ir pasirinks tik tuo atveju, jei abu žodžiai prasidės ta pačia i raide.e.: „a“.

importo re
arraylist = [„meilės poveikis“, „meilės aktas“, „meilės programavimas“]
elementui masyvų sąraše:
k = re.atitikimas („(a \ w +) \ W (g \ w +)“, elementas)
jei k:
spausdinti ((z.grupės ()))

Išvestis:

(„meilumas“, „afektas“)
(„meilumas“, „poelgis“)

Trečiasis sąrašo elementas nebus laikomas, nes jis neatitinka regex, kuriame sakoma, kad abu žodžiai turėtų prasidėti „a“.

Paieškos funkcija (pavyzdys)

Ši funkcija skiriasi nuo atitikties. Paieškos metu nuskaitomas visas sakinys, o atitikties - ne. Šiame pavyzdyje paieškos metodas yra sėkmingas, bet atitikties funkcija - ne.

importo re
Įvestis = „DocumentationNew“
v = re.ieškoti („(ta.*) “, Įvestis)
jei v:
spausdinti („rezultatas:“ v.grupė (1))

Išvestis:

rezultatas: tationNew

'ta.* “reiškia bet ką po„ ta “, kuris mums suteikia rezultatą„ tationNew “iš ieškomos įvesties„ DocumentationNew “.

Išvada

Reguliariosios išraiškos yra labai svarbios visiems programinės įrangos kūrėjams, ir dabar jūs galite lengvai pamatyti, kaip naudoti reguliariąsias išraiškas „Python“ programavimo kalba.

Geriausi „Linux“ komandinės eilutės žaidimai
Komandų eilutė yra ne tik jūsų didžiausias sąjungininkas naudojant „Linux“, bet ir pramogų šaltinis, nes ją galite naudoti norėdami žaisti daug įdomių...
Geriausios „Linux“ skirtos „Gamepad“ žemėlapių sudarymo programos
Jei jums patinka žaisti žaidimus „Linux“ su žaidimų pultu, o ne įprasta klaviatūra ir pelės įvesties sistema, yra keletas jums naudingų programų. Daug...
Naudingi įrankiai „Linux“ žaidėjams
Jei jums patinka žaisti žaidimus „Linux“ sistemoje, yra tikimybė, kad galbūt naudojote tokias programas ir įrankius kaip „Wine“, „Lutris“ ir „OBS Stud...