2009-01-09 63 views
3

假設infile是一個保存輸入文件名稱的變量,並且類似於輸出文件的outfile。如果infile在.js結束,我想用.min.js替換,這很簡單(我認爲)。正則表達式:替換以'.js'結尾,但不以'min.js'結尾的字符串的後綴

OUTFILE =應用re.sub(R '\ b.js $',」 .min.js',INFILE)

但我的問題是,如果在INFILE .min.js結束,然後我不希望替代發生。 (否則,我將以.min.min.js結束)如何通過使用正則表達式來完成此操作?

PS:這不是家庭作業。如果您好奇這是什麼:這是一個小型python腳本,可以對目錄中的JavaScript文件進行批量壓縮。

回答

3

對於這個任務簡單,沒有必要對正則表達式。字符串方法可以更具可讀性,例如:

if filename.endswith('.js') and not filename.endswith('.min.js'): 
    filename= filename[:-3]+'.min.js' 
+0

是的,我知道,但這個問題提供了一個很好的機會讓我更多地瞭解正則表達式。 – 2009-01-11 01:47:30

相關問題