尝试为节点替换脚本编写正则表达式

时间:2018-12-28 17:18:29

标签: javascript regex

我需要替换此行

// app.use('/api',require('./api/api'));

与此

app.use('/api',require('./api/api'));

我正在使用https://www.npmjs.com/package/replace,它可以工作,但是由于我无法编写正则表达式来识别该行,因此我无法使它在以上工作。这是我的尝试

var replace = require("replace");

replace({
    regex: "// app\.use\('/api',require\('\./api/api'\)\);", // string to be replaced
    replacement: "app.use('/api',require('./api/api'));", // replacement string
    paths: ['dist/server.js'], // path/to/your/file'
    recursive: true,
    silent: true,
});

我如何重写上面的正则表达式以匹配// app.use('/api',require('./api/api'));

演示

https://repl.it/repls/ChocolateLavenderBsddaemon

2 个答案:

答案 0 :(得分:1)

您只需要适当的转义即可。

\/\/\s*app\.use\('\/api',require\('\.\/api\/api'\)\);

Demo

答案 1 :(得分:0)

您没有转义正则表达式特殊符号。试试这个。

\/\/\sapp.use\('\/api',require\('\.\/api\/api'\)\);