Confini delle parole nelle espressioni regolari di Python
Con il comando '\\b' puoi
fare riferimento al confine di una parola, mentre con
il comando '\B' o '\\B' - a un
non-confine. Nota che nel
caso della definizione dei confini delle parole in Python
l'escape funziona rigorosamente con due
barre inverse, sebbene per altri comandi
sia consentita una sola barra inversa. Diamo un'occhiata
al funzionamento di questi comandi con esempi.
Esempio
Racchiudiamo ogni parola nel simbolo
'!':
txt = 'aaa aaa aaa'
print(re.sub('\\b', '!', txt))
Risultato dell'esecuzione del codice:
'!aaa! !aaa! !aaa!'
Esempio
Aggiungiamo il simbolo '!' negli
spazi tra le lettere:
txt = 'aaa aaa aaa'
print(re.sub('\\B', '!', txt))
Risultato dell'esecuzione del codice:
'a!a!a a!a!a a!a!a'
Problemi pratici
Data la stringa:
txt = 'abc def xyz'
Scrivi un'espressione regolare che trasformi questa stringa nella seguente:
'#abc# #def# #xyz#'
Data la stringa:
txt = 'abc def xyz'
Scrivi un'espressione regolare che trasformi questa stringa nella seguente:
'a+b+c d+e+f x+y+z'