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

Backreference nella stringa di sostituzione in Python

Quando si lavora con il metodo sub, se qualcosa deve essere catturato in un gruppo (backreference) nella regex, allora nella stringa di sostituzione è possibile inserire il contenuto di quel gruppo scrivendo una doppia barra rovesciata \ e il numero del gruppo. Ad esempio, \1 - primo gruppo, \2 - secondo gruppo e così via.

A cosa serve e come usarlo vediamolo con degli esempi.

Esempio

Troviamo tutti i numeri e al loro posto inseriamo questi stessi numeri, ma tra parentesi tonde. Per fare questo sostituiamo tutti i numeri trovati con loro stessi, ma tra parentesi:

txt = '1 23 456 xax' res = re.sub('(\d+)', '(\1)', txt) print(res)

Di conseguenza, nella variabile verrà scritto quanto segue:

'(1) (23) (456) xax'

Esempio

Troviamo tutte le stringhe che rappresentano numeri con delle 'x' attorno e sostituiamo questi numeri con loro stessi, ma con dei punti esclamativi '!' attorno:

txt = 'x1x x23x x456x xax' res = re.sub('x(\d+)x', '!\1!', txt) print(res)

Di conseguenza, nella variabile verrà scritto quanto segue:

'!1! !23! !456! xax'

Esempio

Risolviamo il seguente problema: data una stringa 'aaa@bbb ccc@ddd' - lettere, poi chiocciola, poi lettere. Dobbiamo scambiare le posizioni delle lettere nella sottostringa 'aaa@bbb' prima di '@' e dopo:

txt = 'aaa@bbb ccc@ddd' res = re.sub('([a-z]+)@([a-z]+)', '\2@\1', txt) print(res)

Di conseguenza, nella variabile verrà scritto quanto segue:

'bbb@aaa ccc@ddd'

Problemi pratici

Data una stringa:

txt = '12 34 56 78'

Scambia le posizioni delle cifre in tutti i numeri a due cifre.

Data una stringa con una data:

txt = '31.12.2025'

Converti questa data in '2025.12.31'.

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