我试图删除不是 abc 的句子中的每个'abc',而不是以 abcxx 或 abcyy
这样:
dog abc cat abcxx abcdfxx abcee abcyyli abcb
成为:
dog abc cat abcxx abc dfxx abc ee abcyyli abc 击> b'/ p>
这意味着:
dog abc cat abcxx dfxx ee abcyyli b
我正在尝试类似的事情:
var text = "dog abc cat abcxx abcdfxx abcee abcyyli abcb";
console.log(
text.replace(/(^((?:abc(?!xx)(?!yy)).*)$)/g, '')
);
如果我在每个单词上运行它,它知道检测有问题的单词, 并删除所有单词(而不是仅删除'abc'。
答案 0 :(得分:5)
您可以使用三个前瞻,两个否定(不xx
,无yy
)和一个正面(需要abc
后跟一个字符)来简化它:
const text = "dog abc cat abcxx abcdfxx abcee abcyyli abcb";
console.log(
text.replace(/\babc(?!xx)(?!yy)(?=\w)/g, '')
)