作者:贝乐小凸 | 来源:互联网 | 2022-12-10 12:09
@example/
除非完全匹配,否则我需要替换文件中出现的所有内容@example/is
.
目前我有这个代码:
let updated = s.replace(/@example\//g, replacement);
但是,这将更新所有出现的事件,包括带有的事件@example/is
.我们如何排除@example/is
文件中的出现次数?
附录
我只是粘贴我使用的脚本(其中包含了很好的答案)来执行更新,以防其他人需要执行以下操作:
const fs = require("fs");
const globby = require("globby");
globby("./test/**/*.ts")
.then(paths => {
paths.forEach(update);
})
.catch(e => console.log(e));
function update(path) {
let replacement = "@ex/";
let js = fs.readFileSync(path, "utf8");
js = js.replace(/@example\/(?!is)/g, replacement)
fs.writeFileSync(path, js);
}
anubhava..
6
您可以使用负前瞻断言:
let updated = s.replace(/@example\/(?!is)/g, replacement)
(?!is)
是一种消极的前向断言时将失败的比赛is
后说到@example/
1> anubhava..:
您可以使用负前瞻断言:
let updated = s.replace(/@example\/(?!is)/g, replacement)
(?!is)
是一种消极的前向断言时将失败的比赛is
后说到@example/