使用grunt-replace替换字符串

时间:2014-11-12 21:21:36

标签: javascript regex configuration gruntjs grunt-usemin

我想将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,但他们都被替换了,但没有一个有效:

我在这里缺少什么?

更新 我添加了我的grunt-replace配置的files部分+工作/images/g示例。 我正在使用其他一些Grunt任务,而Grunt替换是最后一个:

grunt.registerTask('default', ['useminPrepare', 'copy', 'concat', 'uglify', 'cssmin', 'usemin', 'replace']);

但我不知道它是如何破坏我的正则表达式替换的。我正在通过运行命令来测试我的配置: grunt -v --stack && grep -R "ZZZZZZZZZZZZ" .

1 个答案:

答案 0 :(得分:0)

首先,你的regex101链接指向使用Python正则表达式库的代码,而不是Grunt使用的JavaScript。接下来,需要转义(\个字符,但其他字符都不会转义。您正在寻找的正则表达式是:

/url\("images\//g

(请参阅https://regex101.com/r/aY9hY0/1进行播放)