⊗pyPmRERO 34 of 129 menu

Operatori de repetare a caracterelor în expresii regulate

Există situații când trebuie să specifici că un caracter se repetă de un anumit număr de ori. Dacă numărul exact de repetări este necunoscut, atunci poți să-l scrii de mai multe ori - 'aaaa'. Dar ce să faci dacă trebuie să spui așa ceva: repetă de una sau mai multe ori?

Pentru asta există operatori (cuantificatori) de repetare: plus + (una sau mai multe ori), steluță * (zero sau mai multe ori) și semnul întrebării ? (zero sau o dată). Acești operatori acționează asupra caracterului care se află înaintea lor.

Să analizăm funcționarea acestor operatori cu exemple.

Exemplul

Să găsim toate subșirurile după șablonul litera 'x', litera 'a' una sau mai multe ori, litera 'x':

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

Rezultatul executării codului:

'xx ! ! ! xbx'

Exemplul

Să găsim toate subșirurile după șablonul litera 'x', litera 'a' zero sau mai multe ori, litera 'x':

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

Rezultatul executării codului:

'! ! ! ! xbx'

Exemplul

Să găsim toate subșirurile după șablonul litera 'x', litera 'a' zero sau o dată, litera 'x':

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

Rezultatul executării codului:

'! ! xaax xbx'

Probleme practice

Este dat șirul:

txt = 'aa aba abba abbba abca abea'

Scrieți o expresie regulată care va găsi șirurile 'aba', 'abba', 'abbba' după șablonul: litera 'a', litera 'b' de oricâte ori, litera 'a'.

Este dat șirul:

txt = 'aa aba abba abbba abca abea'

Scrieți o expresie regulată care va găsi șirurile 'aa', 'aba', 'abba', 'abbba' după șablonul: litera 'a', litera 'b' de oricâte ori (inclusiv de zero ori), litera 'a'.

Este dat șirul:

txt = 'aa aba abba abbba abca abea'

Scrieți o expresie regulată care va găsi șirurile 'aa', 'aba' după șablonul: litera 'a', litera 'b' o dată sau de zero ori, litera 'a'.

Este dat șirul:

txt = 'aa aba abba abbba abca abea'

Scrieți o expresie regulată care va găsi șirurile 'aa', 'aba', 'abba', 'abbba', fără a captura 'abca' și 'abea'.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge