2013-04-24 22 views
9

Quindi ho espressioni come "./folder/thisisa.test/file.cxx.h" Come faccio a sostituire/rimuovere tutto il "." ma l'ultimo punto?Regex di Python che corrisponde a tutto ma l'ultima occorrenza

+0

Quello che ho messo è più veloce. Beh, non vedrai la differenza però. – Loamhoof

+0

è probabilmente più veloce utilizzare un ciclo per sostituirli tutti, tenere traccia dell'indice dell'ultima sostituzione e sostituirlo con un punto l'ultimo dopo il ciclo. – didierc

+0

Se stai manipolando i nomi dei percorsi, dai un'occhiata a 'os.path' – Felipe

risposta

13

per abbinare tutti, ma l'ultimo punto con una regex:

'\.(?=[^.]*\.)' 

Utilizzando un lookahead per controllare che non v'è un altro punto dopo quello che abbiamo trovato (il lookahead non fa parte del match).

+1

Grazie per l'aiuto – landocalrissian

Problemi correlati