2009-01-09 98 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

相关问题