我正在尝试删除不是 abc 且不以 abcxx 或 abcyy 开头的句子中的每个单词'abc'。
所以:
狗abc猫abcxx abcdfxx abcee abcyyli abcb
成为:
狗abc猫abcxx abc dfxx abc ee abcyyli abc b
它的意思是:
狗abc猫abcxx dfxx ee abcyyli b
我正在尝试类似的东西:
var text = "dog abc cat abcxx abcdfxx abcee abcyyli abcb";
console.log(
text.replace(/(^((?:abc(?!xx)(?!yy)).*)$)/g, '')
);
如果我在每个单词上运行它,它就会检测出有问题的单词,
并删除所有单词(而不是仅删除“abc”)。
最佳答案
您可以通过三个前瞻来简化它,两个负号(无xx
,没有yy
)和一个正号(要求abc
后跟一个字符):
const text = "dog abc cat abcxx abcdfxx abcee abcyyli abcb";
console.log(
text.replace(/\babc(?!xx)(?!yy)(?=\w)/g, '')
)