⊗pyPmRERO 34 of 129 menu

Operatori di ripetizione dei caratteri nelle regex

Ci sono situazioni in cui è necessario specificare che un carattere si ripete un determinato numero di volte. Se il numero esatto di ripetizioni è sconosciuto, si può semplicemente scriverlo più volte - 'aaaa'. Ma cosa fare se bisogna dire questo: ripetere una o più volte?

Per questo esistono operatori (quantificatori) di ripetizione: il più + (una o più volte), l'asterisco * (zero o più volte) e il punto interrogativo ? (zero o una volta). Questi operatori agiscono sul carattere che li precede.

Osserviamo il funzionamento di questi operatori con alcuni esempi.

Esempio

Troviamo tutte le sottostringhe secondo il pattern lettera 'x', lettera 'a' una o più volte, lettera 'x':

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

Risultato dell'esecuzione del codice:

'xx ! ! ! xbx'

Esempio

Troviamo tutte le sottostringhe secondo il pattern lettera 'x', lettera 'a' zero o più volte, lettera 'x':

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

Risultato dell'esecuzione del codice:

'! ! ! ! xbx'

Esempio

Troviamo tutte le sottostringhe secondo il pattern lettera 'x', lettera 'a' zero o una volta, lettera 'x':

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

Risultato dell'esecuzione del codice:

'! ! xaax xbx'

Problemi pratici

Data una stringa:

txt = 'aa aba abba abbba abca abea'

Scrivi un'espressione regolare che trovi le stringhe 'aba', 'abba', 'abbba' secondo il pattern: lettera 'a', lettera 'b' un numero qualsiasi di volte, lettera 'a'.

Data una stringa:

txt = 'aa aba abba abbba abca abea'

Scrivi un'espressione regolare che trovi le stringhe 'aa', 'aba', 'abba', 'abbba' secondo il pattern: lettera 'a', lettera 'b' un numero qualsiasi di volte (anche zero volte), lettera 'a'.

Data una stringa:

txt = 'aa aba abba abbba abca abea'

Scrivi un'espressione regolare che trovi le stringhe 'aa', 'aba' secondo il pattern: lettera 'a', lettera 'b' una volta o zero, lettera 'a'.

Data una stringa:

txt = 'aa aba abba abbba abca abea'

Scrivi un'espressione regolare che trovi le stringhe 'aa', 'aba', 'abba', 'abbba', senza catturare 'abca' e 'abea'.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta