Regulaarsed väljendid on tugev tööriist tekstianalüüsiks ja -töötluseks. Need võimaldavad sul leida, kontrollida, asendada või isegi jagada teatud mustreid tekstis. See juhend tutvustab sulle regulaarsete väljendite aluseid Pythonis kasutades mooduleid re.match ja re.search.
Tähtsaimad järeldused
- Regulaarsed väljendid aitavad leida konkreetsed stringid tekstides.
- re.match kontrollib, kas muster eksisteerib teksti alguses.
- re.search leiab mustri igas kohas tekstis.
- Pythoni re-raamatukogu on vajalik regulaarsete väljenditega töötamiseks.
Sammsammuline juhend
Et mõista regulaarsete väljendite tööpõhimõtteid, on siin sammud nende rakendamiseks Pythonis.
Esiteks loo uusi fail Python 3-s. Seal seadista mõned mõisted, mida soovid hiljem tekstis otsida. Näiteks kasutame mõisteid „Mõisted 1“ ja „Mõisted 2“:

Siis kirjuta tekst. See tekst sisaldab mõisteid, mida soovid otsida. Näiteks: "See on string, mis sisaldab mõistet 1 või tagasiviidet 1, kuid sellel ei ole teist teed".

Nüüd loo silmus, mis läbib su määratud mõisted. Selles silmus kasuta print-funktsiooni, et näidata otsingu tulemust. Print-funktsiooni kasutatakse praeguse otsitava mõiste kuvamiseks konsoolis.

Kuna otsingutulemused on paremini loetavad, saad stringi vormindada. Siin kasutad sulgude abil, et dünaamiliselt näidata praegust mõistet ja teksti.

Seejärel rakenda loogika, et kontrollida, kas iga mõisted eksisteerib tekstis. Selle jaoks kasutame re.search, mis on kasulik meetod mustri otsimiseks tekstis.

Kui re.search leiab tabamuse, väljenda, et mõisted on olemas, ja kui ei, siis teavitab väljund, et seda ei ole olemas. Väljund kuvatakse kergesti mõistetavaks, et selgitada, mis on tulemus.
Tulemus näitab sulle, millised mõisted on tekstis leidub ja millised mitte. Kui lisad täiendavaid mõisteid, siis silmus käivitatakse iga nende mõiste jaoks.

Kui soovid teada saada, kus asub mõisted tekstis, saad kasutada funktsioone match.start() ja match.end(). Need annavad algus- ja lõpp-punkti sinu otsingutulemusele.

Funktsiooni match.start() kasutamine annab sulle täpse positsiooni, kus mõisted tekstis algab. Funktsiooniga match.end() saad leida leitud mõiste lõpp-punkti.

Nii saad leitud mõisted tekstis mitte ainult tuvastada, vaid ka nende täpsed positsioonid välja selgitada, mis on kasulik täpsete muudatuste tegemiseks.

Järgmise sammu tegemine on põnev, sest järgnev juhend näitab, kuidas sa mitte ainult ei otsi mustreid regulaarsete väljenditega, vaid ka isoleerid või asendad tekstist spetsiifilisi osi. See avab sulle hulgaliselt võimalusi tekstiliste manipulatsioonide tegemiseks.
Kokkuvõte – Sissejuhatus regulaarsetesse väljenditesse Pythonis: re.match ja re.search
Regulaarsed väljendid on hädavajalik tööriist programmeerimises, kui on vaja analüüsida ja modifitseerida tekstilisi andmeid. Selles juhendis oled õppinud, kuidas rakendada Pythonis mooduleid re.match ja re.search, et leida mõisted tekstist. Oled samuti õppinud, kuidas määrata otsitavate mõistete positsioonid.
Korduma kippuvad küsimused
Kuidas importida re-moodul Pythonis?Impordi moodul "import re".
Mis vahe on re.match ja re.search vahel?re.match otsib ainult stringi alguses, samas kui re.search otsib igalt poolt stringis.
Kuidas leida mõiste positsioon tekstis?Kasutage meetodeid match.start() ja match.end().
Kas ma saan regulaarseid väljendeid kasutada teksti asendamiseks?Jah, selleks saad kasutada funktsiooni re.sub().
Kust ma saan rohkem teada regulaarsete väljendite kohta?Vaata ametlikku Python'i dokumentatsiooni või online-ressursse regulaarsete väljendite kohta.