假设infile是一个变量,保存输入文件的名称,同样outfile保存输出文件的名称。如果infile以.js结尾,我想替换为.min.js,这很容易。
infile
.js
.min.js
outfile = re.sub(r'\b.js$', '.min.js', infile)
字符串但我的问题是,如果infile以.min.js结尾,那么我不希望替换发生。(否则,我将以.min.min.js结束。)如何使用正则表达式来实现这一点?
.min.min.js
dluptydi1#
你想做一个否定的lookbehindAssert。比如说
outfile = re.sub(r"(?<!\.min)\.js$", ".min.js", infile)
字符串你可以在这里找到更多关于这一点:http://docs.python.org/library/re.html#regular-expression-syntax
lc8prwob2#
对于如此简单的任务,不需要正则表达式。字符串方法可以更具可读性,例如:
if filename.endswith('.js') and not filename.endswith('.min.js'): filename= filename[:-3]+'.min.js'
字符串
2条答案
按热度按时间dluptydi1#
你想做一个否定的lookbehindAssert。比如说
字符串
你可以在这里找到更多关于这一点:http://docs.python.org/library/re.html#regular-expression-syntax
lc8prwob2#
对于如此简单的任务,不需要正则表达式。字符串方法可以更具可读性,例如:
字符串