⊗pyPmREOC 51 of 129 menu

Il comando 'o' nelle espressioni regolari di Python

Il comando '|', che rappresenta una versione più potente di 'o' rispetto al comando [ ]. Questo comando consente di dividere l'espressione regolare in diverse parti. In questo caso, la corrispondenza può rientrare in una parte dell'espressione regolare, oppure in un'altra. Vediamo degli esempi.

Esempio

In questo esempio, il modello di ricerca è il seguente: tre lettere 'a' o tre lettere 'b':

txt = 'aaa bbb abb' res = re.sub('a{3}|b{3}', '!', txt) print(res)

Risultato dell'esecuzione del codice:

'! ! abb'

Esempio

In questo esempio, il modello di ricerca è il seguente: tre lettere 'a' o da 1 o più lettere 'b':

txt = 'aaa bbb bbbb bbbbb axx' res = re.sub('a{3}|b+', '!', txt) print(res)

Risultato dell'esecuzione del codice:

'! ! ! ! axx'

Esempio

In questo esempio, il modello di ricerca è il seguente: una o più lettere o tre cifre:

txt = 'a ab abc 1 12 123' res = re.sub('[a-z]+|\d{3}', '!', txt) print(res)

Risultato dell'esecuzione del codice:

'! ! ! 1 12 !'

Esempio

Il carattere verticale può dividere l'espressione regolare non in due parti, ma in un numero qualsiasi di parti:

txt = 'aaa bbb ccc ddd' res = re.sub('a+|b+|c+', '!', txt) print(res)

Risultato dell'esecuzione del codice:

'! ! ! ddd'

Esempio

Se il carattere verticale si trova all'interno di parentesi tonde, allora 'o' funziona solo all'interno di quelle parentesi.

Ad esempio, troviamo le stringhe secondo il seguente modello: all'inizio c'è o 'a', o 'b' una o più volte, e poi due lettere 'x':

txt = 'axx bxx bbxx exx' res = re.sub('(a|b+)xx', '!', txt) print(res)

Risultato dell'esecuzione del codice:

'! ! ! exx'

Problemi pratici

Data una stringa:

txt = 'aeeea aeea aea axa axxa axxxa'

Scrivi un'espressione regolare che trovi le stringhe secondo il modello: ai lati ci sono le lettere 'a', e tra di loro - o la lettera 'e' un numero qualsiasi di volte o la lettera 'x' un numero qualsiasi di volte.

Data una stringa:

txt = 'aeeea aeea aea axa axxa axxxa'

Scrivi un'espressione regolare che trovi le stringhe secondo il modello: ai lati ci sono le lettere 'a', e tra di loro - o la lettera 'e' due volte o la lettera 'x' un numero qualsiasi di volte.

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