⊗pyPmRECB 37 of 129 menu

Riestiniai skliaustai Python reguliariosiose išraiškose

Operatoriai '+', '*', '?' yra geri, tačiau jais negalima nurodyti konkrečų pasikartojimų skaičių. Šiuo atveju jums padės operatorius {}.

Jis veikia taip: {5} - penki pasikartojimai, {2,5} – pasikartoja nuo dviejų iki penkių (abu imtinai), {2,} - pasikartoja du ar daugiau kartų. Pažiūrėkite pavyzdžius:

Pavyzdys

Šiame pavyzdyje paieškos šablonas atrodo taip: raidė 'x', raidė 'a' vieną ar du kartus, raidė 'x':

txt = 'xx xax xaax xaaax' res = re.sub('xa{1,2}x', '!', txt) print(res)

Kodo vykdymo rezultatas:

'xx ! ! xaaax'

Pavyzdys

Šiame pavyzdyje paieškos šablonas atrodo taip: raidė 'x', raidė 'a' du kartus ar daugiau, raidė 'x':

txt = 'xx xax xaax xaaax' res = re.sub('xa{2,}x', '!', txt) print(res)

Kodo vykdymo rezultatas:

'xx xax ! !'

Pavyzdys

Šiame pavyzdyje paieškos šablonas atrodo taip: raidė 'x', raidė 'a' tris kartus, raidė 'x':

txt = 'xx xax xaax xaaax' res = re.sub('xa{3}x', '!', txt) print(res)

Kodo vykdymo rezultatas:

'xx xax xaax !'

Pavyzdys

Šiame pavyzdyje paieškos šablonas atrodo taip: raidė 'a' dešimt kartų:

txt = 'aaa aaaaaaaaaa aaa' res = re.sub('a{10}', '!', txt) print(res)

Kodo vykdymo rezultatas:

'aaa ! aaa'

Pavyzdys

Šiame pavyzdyje yra toks šablonas: raidė 'x', raidė 'a' tris kartus ar mažiau, raidė 'x'. Norint jį įgyvendinti, prieš skaičių 3 galima nenurodyti skaičiaus, o tiesiog parašyti kablelį:

txt = 'xx xax xaax xaaax' res = re.sub('xa{,3}x', '!', txt) print(res)

Kodo vykdymo rezultatas:

'! ! ! !'

Pavyzdys

Nulis prieš 3 taip pat leistinas:

txt = 'xx xax xaax xaaax' res = re.sub('xa{0,3}x', '!', txt) print(res)

Kodo vykdymo rezultatas:

'! ! ! !'

Praktinės užduotys

Duota eilutė:

txt = 'aa aba abba abbba abbbba abbbbba'

Parašykite reguliariąją išraišką, kuri ras eilutes 'abba', 'abbba', 'abbbba' ir tik jas.

Duota eilutė:

txt = 'aa aba abba abbba abbbba abbbbba'

Parašykite reguliariąją išraišką, kuri ras eilutes pavidalo 'aba', kuriose 'b' pasitaiko mažiau nei 3 kartus (imtinai).

Duota eilutė:

txt = 'aa aba abba abbba abbbba abbbbba'

Parašykite reguliariąją išraišką, kuri ras eilutes pavidalo 'aba', kuriose 'b' pasitaiko daugiau nei 4 kartus (imtinai).

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti