⊗pyPmRERO 34 of 129 menu

Sümbolite kordusoperaatorid

On olukordi, kus on vaja määrata, et sümbol kordub etteantud arv kordi. Kui täpne korduste arv on teadmata, siis võib selle lihtsalt mitu korda kirjutada - 'aaaa'. Aga mida teha, kui on vaja öelda midagi sellist: korda üks või rohkem korda?

Selleks on olemas korduse operaatorid (kvantifikaatorid): pluss + (üks või rohkem korda), tärn * (null või rohkem korda) ja küsimärk ? (null või üks kord). Need operaatorid mõjuvad sellele sümbolile, mis nende ees seisab.

Vaatame nende operaatorite tööd näidete varal.

Näide

Leiame kõik alamstringid mustri täht 'x', täht 'a' üks või rohkem korda, täht 'x' järgi:

txt = 'xx xax xaax xaaax xbx' res = re.sub('xa+x', '!', txt) print(res)

Koodi täitmise tulemus:

'xx ! ! ! xbx'

Näide

Leiame kõik alamstringid mustri täht 'x', täht 'a' null või rohkem korda, täht 'x' järgi:

txt = 'xx xax xaax xaaax xbx' res = re.sub('xa*x', '!', txt) print(res)

Koodi täitmise tulemus:

'! ! ! ! xbx'

Näide

Leiame kõik alamstringid mustri täht 'x', täht 'a' null või üks kord, täht 'x' järgi:

txt = 'xx xax xaax xbx' res = re.sub('xa?x', '!', txt) print(res)

Koodi täitmise tulemus:

'! ! xaax xbx'

Praktilised ülesanded

Antud string:

txt = 'aa aba abba abbba abca abea'

Kirjutage regulaaravaldis, mis leiab stringid 'aba', 'abba', 'abbba' mustri järgi: täht 'a', täht 'b' suvaline arv kordi, täht 'a'.

Antud string:

txt = 'aa aba abba abbba abca abea'

Kirjutage regulaaravaldis, mis leiab stringid 'aa', 'aba', 'abba', 'abbba' mustri järgi: täht 'a', täht 'b' suvaline arv kordi (kaasa arvatud mitte ühtegi korda), täht 'a'.

Antud string:

txt = 'aa aba abba abbba abca abea'

Kirjutage regulaaravaldis, mis leiab stringid 'aa', 'aba' mustri järgi: täht 'a', täht 'b' üks kord või mitte ühtegi, täht 'a'.

Antud string:

txt = 'aa aba abba abbba abca abea'

Kirjutage regulaaravaldis, mis leiab stringid 'aa', 'aba', 'abba', 'abbba', ilma et haaraks 'abca' ja 'abea'.

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