我想将url("images/
字符串替换为其他字符串,例如ZZZZZZZZZZZZ
使用grunt-replace。
我使用以下配置:
replace: {
dist: {
options: {
patterns: [
{
match: /"/g,
replacement: 'ZZZZZZZZZZZZ'
}
]
},
files: [
{
expand: true, flatten: true,
src: ['dist/app/css/app.css'], dest: 'dist/app/css2/'
}
]
}
}
我已经尝试了match: /"/g
和/images/g
,但他们都被替换了,但没有一个有效:
match : /"images/g
match : /\"images/g
match : /("images)/g
//在http://regex101.com/r/tU5iM3/2 match : /(\"images)/g
//在http://regex101.com/r/tU5iM3/3 我在这里缺少什么?
更新
我添加了我的grunt-replace配置的files
部分+工作/images/g
示例。
我正在使用其他一些Grunt任务,而Grunt替换是最后一个:
grunt.registerTask('default', ['useminPrepare', 'copy', 'concat', 'uglify', 'cssmin', 'usemin', 'replace']);
但我不知道它是如何破坏我的正则表达式替换的。我正在通过运行命令来测试我的配置:
grunt -v --stack && grep -R "ZZZZZZZZZZZZ" .
答案 0 :(得分:0)
首先,你的regex101链接指向使用Python正则表达式库的代码,而不是Grunt使用的JavaScript。接下来,需要转义(
和\
个字符,但其他字符都不会转义。您正在寻找的正则表达式是:
/url\("images\//g
(请参阅https://regex101.com/r/aY9hY0/1进行播放)