⊗pyPmRERO 34 of 129 menu

Rakstzīmju atkārtošanās operatori

Ir situācijas, kad nepieciešams norādīt, ka rakstzīme atkārtojas noteiktu skaitu reizu. Ja precīzs atkārtojumu skaits nav zināms, tad to var vienkārši uzrakstīt vairākas reizes - 'aaaa'. Bet ko darīt, ja nepieciešams pateikt šādi: atkārtot vienu vai vairāk reizi?

Šim nolūkam pastāv atkārtošanās operatori (kvantifikatori): pluss + (viens vai vairāk reizi), zvaigznīte * (nulle vai vairāk reizi) un jautājums ? (nulle vai vienu reizi). Šie operatori iedarbojas uz to rakstzīmi, kura atrodas tieši pirms tiem.

Apskatīsim šo operatoru darbību ar piemēriem.

Piemērs

Atradīsim visas apakšvirknes pēc šablona burts 'x', burts 'a' viens vai vairāk reizes, burts 'x':

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

Koda izpildes rezultāts:

'xx ! ! ! xbx'

Piemērs

Atradīsim visas apakšvirknes pēc šablona burts 'x', burts 'a' nulle vai vairāk reizes, burts 'x':

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

Koda izpildes rezultāts:

'! ! ! ! xbx'

Piemērs

Atradīsim visas apakšvirknes pēc šablona burts 'x', burts 'a' nulle vai viens reizi, burts 'x':

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

Koda izpildes rezultāts:

'! ! xaax xbx'

Praktiskie uzdevumi

Dota virkne:

txt = 'aa aba abba abbba abca abea'

Uzrakstiet regulāro izteiksmi, kas atradīs virknes 'aba', 'abba', 'abbba' pēc šablona: burts 'a', burts 'b' jebkurš skaits reizu, burts 'a'.

Dota virkne:

txt = 'aa aba abba abbba abca abea'

Uzrakstiet regulāro izteiksmi, kas atradīs virknes 'aa', 'aba', 'abba', 'abbba' pēc šablona: burts 'a', burts 'b' jebkurš skaits reizu (ieskaitot nevienu reizi), burts 'a'.

Dota virkne:

txt = 'aa aba abba abbba abca abea'

Uzrakstiet regulāro izteiksmi, kas atradīs virknes 'aa', 'aba' pēc šablona: burts 'a', burts 'b' vienu reizi vai nevienu, burts 'a'.

Dota virkne:

txt = 'aa aba abba abbba abca abea'

Uzrakstiet regulāro izteiksmi, kas atradīs virknes 'aa', 'aba', 'abba', 'abbba', neiekļaujot 'abca' un 'abea'.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt