⊗pyPmREInr 33 of 129 menu

Regulaaravaldiste sissejuhatus Pythonis

Regulaaravaldised on käsid keerukaks otsimiseks ja asendamiseks (või lihtsalt otsimiseks). Need võimaldavad teha väga huvitavaid asju, kuid kahjuks on need üsna raskesti omandatavad.

Regulaaravaldistega töötamise alustamiseks Pythonis peame importima spetsiaalse mooduli re:

import re

Moodul re sisaldab meetodeid, mis on mõeldud regulaaravaldistega töötamiseks. Regulaaravaldis on käsikogum ja koosneb kaht tüüpi sümbolitest: nendest, mis tähistavad iseennast, ja käsusümbolitest, mida nimetatakse spetsiaalseteks sümboliteks.

Regulaaravaldistega tutvumist on parem alustada meetodi sub näitel, mida kasutatakse stringis asenduste tegemiseks. Esimese parameetrina võtab meetodi selle, mida asendada, teise parameetrina selle, millega asendada. Kolmandas parameetris määrame stringi, milles asendus teha. Neljandas valikulises parameetris määrame asenduste arvu. Kõige lihtsam asendus selle meetodi abil näeb välja järgmine:

res = re.sub('a', '!', 'bab') print(res) # väljastab 'b!b'

Nagu märkasite, tähistavad regulaaravaldises tähed iseennast. Sama kehtib ka numbrite kohta. Asendame numbri 2 sümboliga !:

res = re.sub('2', '!', '12abc3') print(res) # väljastab '1!abc3'

Kuid punkt on spetsiaalne sümbol ja tähistab suvalist sümbolit. Järgmises näites otsime üles alamstringi järgmise mustri järgi: täht 'x', siis suvaline sümbol, siis jälle täht 'x':

res = re.sub('x.x', '!', 'xax eee') print(res) # väljastab '! eee'

Antud on string:

txt = 'ahb acb aeb aeeb adcb axeb'

Kirjutage regulaaravaldis, mis leiab stringid 'ahb', 'acb', 'aeb' mustri järgi: täht 'a', suvaline sümbol, täht 'b'.

Antud on string:

txt = 'aba aca aea abba adca abea'

Kirjutage regulaaravaldis, mis leiab stringid 'abba', 'adca', 'abea' mustri järgi: täht 'a', 2 suvalist sümbolit, täht 'a'.

Antud on string:

txt = 'aba aca aea abba adca abea'

Kirjutage regulaaravaldis, mis leiab stringid 'abba' ja 'abea', kuid ei haara 'adca'.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu