Il simbolo dell'accento circonflesso all'interno degli insiemi nelle espressioni regolari Python
Come sapete, l'accento circonflesso all'interno di [ ]
crea una negazione, se scritto all'inizio
delle parentesi. Ciò significa che è un
carattere speciale all'interno di queste parentesi. Per
ottenere l'accento circonflesso come carattere, è necessario
o escaparlo, o spostarlo dalla prima posizione.
Esempio
Nel seguente esempio il modello di ricerca è questo:
il primo carattere è tutto tranne 'd',
poi due lettere 'x':
txt = 'axx bxx ^xx dxx'
res = re.sub('[^d]xx', '!', txt)
print(res)
Di conseguenza, nella variabile verrà memorizzato quanto segue:
'! ! ! dxx'
Esempio
Ora il modello di ricerca è questo: il primo
carattere è 'd' o '^',
poi due lettere 'x':
txt = 'axx bxx ^xx dxx'
res = re.sub('[d^]xx', '!', txt)
print(res)
Di conseguenza, nella variabile verrà memorizzato quanto segue:
'axx bxx ! !'
Esempio
Non è necessario spostare l'accento circonflesso dalla prima posizione, ma basta escaparlo utilizzando il backslash, e rappresenterà se stesso:
txt = 'axx bxx ^xx dxx'
res = re.sub('[\^d]xx', '!', txt)
print(res)
Di conseguenza, nella variabile verrà memorizzato quanto segue:
'axx bxx ! !'
Problemi pratici
Data una stringa:
txt = '^xx axx ^zz bkk @ss'
Scrivi un'espressione regolare che trovi le stringhe secondo il modello: accento circonflesso o chiocciola, e poi due lettere latine.
Data una stringa:
txt = '^xx axx ^zz bkk @ss'
Scrivi un'espressione regolare che trovi le stringhe secondo il modello: NÉ accento circonflesso né chiocciola, e poi due lettere latine.
Data una stringa:
txt = '^xx axx ^zz bkk'
Scrivi un'espressione regolare che trovi le stringhe secondo il modello: né accento circonflesso né spazio, e poi due lettere latine.