Non riesco a capire come farlo funzionare con il comando di sostituzione, che è quello che mi è stato detto di fare. Sto usando questo testo come una variabile:utilizzando il comando di sostituzione di espressioni regolari per inserire gli zeri iniziali di fronte a numeri inferiori a 10 in una stringa di nomi di file
text = 'file1, file2, file10, file20'
voglio cercare il testo e sostituto in uno zero di fronte a qualsiasi numero inferiore a 10. Pensavo di poter fare e istruzione if a seconda o meno ri .match o findall troverebbero solo una cifra dopo il testo, ma non riesco a eseguirlo. Ecco il mio codice di partenza dove sto cercando di estrarre la stringa e le cifre in gruppi, ed estrarre solo le quei nomi di file con una sola cifra:
import re
text = 'file1, file2, file10, file20'
mtch = re.findall('^([a-z]+)(\d{1})$',text)
ma non funziona
funziona alla grande ma non seguo totalmente quello che sta facendo – kflaw
il pattern di ricerca che ho usato ''[a-zA-Z] \ d,'' restituisce una stringa di * len() = 3 *, e il 're. Il metodo sub() 'ti permette di usare questa stringa chiamando una funzione come secondo argomento, il che rende piuttosto facile costruire sostituzioni complesse usando i valori della stringa corrispondente. Dovresti [fare riferimento qui] (http://docs.python.org/2/library/re.html) per ulteriori dettagli ed esempi ... –
questa parte non sono completamente chiaro su: x.group (0) [0] + '0' + x.group (0) [1:] – kflaw