Slot con nome nel metodo search di Python
Per rendere più comodo il lavoro con gli slot,
è possibile assegnargli dei nomi. Per fare ciò,
nel primo parametro del metodo search
prima della definizione della regex viene scritta la stringa
'?P', dopo di essa tra parentesi angolate
viene specificato il nome dello slot.
Tali slot possono essere ottenuti utilizzando
il metodo groupdict. Esso li restituirà
sotto forma di dizionario, in cui la chiave è il nome dello slot,
e il valore è la sottostringa in esso contenuta.
Consideriamo il lavoro con gli slot con nome con un esempio. Supponiamo di avere una stringa:
txt = '123 456'
Creiamo per essa due slot, che
si chiameranno 'num1' e 'num2'
rispettivamente:
res = re.search('(?P<num1>\d+)\s(?P<num2>\d+)', txt)
Ora stampiamo i nostri slot con il metodo groupdict:
print(res.groupdict()) # stamperà {'num1': '123', 'num2': '456'}
Data una stringa con un orario:
txt = '12:59:59'
Inserisci ore, minuti e secondi in slot con nome separati.
Data una stringa:
txt = 'aaa bbb 123 456'
Inserisci le sottostringhe 'aaa' e 'bbb'
in slot con nome separati.
Data una stringa:
txt = 'alex23'
Inserisci il nome e l'età dell'utente in slot con nome separati.