Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗pyPmREChG 39 of 129 menu
◀ ▶

Gruppi di caratteri nelle espressioni regolari Python

Esistono comandi speciali che permettono di selezionare interi gruppi di caratteri in una volta. Il comando \d indica una cifra da 0 a 9. Il comando \w indica una cifra, una lettera latina o il carattere di sottolineatura. Il comando \s indica uno spazio o un carattere di spaziatura: spazio, ritorno a capo, tabulazione. È possibile invertire il significato del comando, scrivendo una lettera maiuscola: ad esempio, se \d - è una cifra, allora \D - non è una cifra.

Esempio

Troviamo tutte le cifre:

txt = '1 12 123' res = re.sub('\d', '!', txt) print(res)

Risultato dell'esecuzione del codice:

'! !! !!!'

Esempio

Gli operatori di ripetizione considerano i comandi-gruppo come un unico elemento, quindi le parentesi raggruppanti non sono necessarie. Nel seguente esempio il modello di ricerca è il seguente: cifra da 0 a 9 una o più volte:

txt = '1 12 123 abc @@@' res = re.sub('\d+', '!', txt) print(res)

Risultato dell'esecuzione del codice:

'! ! ! abc @@@'

Esempio

Nel seguente esempio il modello di ricerca è il seguente: qualsiasi cosa una o più volte, ma non una cifra da 0 a 9:

txt = '123abc3@@' res = re.sub('\D+', '!', txt) print(res)

Risultato dell'esecuzione del codice:

'123!3!'

Esempio

In questo esempio il modello di ricerca è il seguente: carattere di spaziatura una volta:

txt = '1 12 123 abc @@@' res = re.sub('\s', '!', txt) print(res)

Risultato dell'esecuzione del codice:

'1!12!123!abc!@@@'

Esempio

In questo esempio il modello di ricerca è il seguente: NON un carattere di spaziatura una o più volte. Tutte le sottostringhe, separate da spazi, saranno sostituite con '!':

txt = '1 12 123 abc @@@' res = re.sub('\S+', '!', txt) print(res)

Risultato dell'esecuzione del codice:

'! ! ! ! !'

Esempio

In questo esempio il modello di ricerca è il seguente: cifra o lettera una o più volte. Tutte le sottostringhe, composte da cifre e lettere, saranno sostituite con '!':

txt = '1 12 123a Abc @@@' res = re.sub('\w+', '!', txt) print(res)

Risultato dell'esecuzione del codice:

'! ! ! ! @@@'

Esempio

In questo esempio il modello di ricerca è il seguente: NON una cifra e NON una lettera una o più volte. In questo caso, rientrano in questa definizione '@@@' e tutti gli spazi (anche loro non sono cifre né lettere). Si noti che alla fine c'è un solo '!' - in esso è stata trasformata la stringa ' @@@' - con uno spazio davanti:

txt = '1 12 123 Abc @@@' res = re.sub('\W+', '!', txt) print(res)

Risultato dell'esecuzione del codice:

'1!12!123!Abc!'

Problemi pratici

Data la stringa:

txt = 'a1a a2a a3a a4a a5a aba aca'

Scrivi un'espressione regolare che trovi le stringhe, in cui ai lati ci sono le lettere 'a', e tra di esse una cifra.

Data la stringa:

txt = 'a1a a22a a333a a4444a a55555a aba aca'

Scrivi un'espressione regolare che trovi le stringhe, in cui ai lati ci sono le lettere 'a', e tra di esse un numero qualsiasi di cifre.

Data la stringa:

txt = 'aa a1a a22a a333a a4444a a55555a aba aca'

Scrivi un'espressione regolare che trovi le stringhe, in cui ai lati ci sono le lettere 'a', e tra di esse un numero qualsiasi di cifre (incluso zero cifre, cioè la stringa 'aa').

Data la stringa:

txt = 'avb a1b a2b a3b a4b a5b abb acb'

Scrivi un'espressione regolare che trovi le stringhe del seguente tipo: ai lati ci sono le lettere 'a' e 'b', e tra di loro - non un numero e non uno spazio.

Data la stringa:

txt = 'ave a#b a2b a$b a4b a5b a-b acb'

Scrivi un'espressione regolare che trovi le stringhe del seguente tipo: ai lati ci sono le lettere 'a' e 'b', e tra di loro - non una lettera, non una cifra e non uno spazio.

Data la stringa:

txt = 'ave a#a a2a a$a a4a a5a a-a aca'

Scrivi un'espressione regolare che sostituisca tutti gli spazi con '!'.

← →
↑
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