对这些词中的任何一个进行否定预测,在一个组内交替。请注意,.匹配任何字符(换行符除外),这可能是不可取的 - 因为您想匹配words,可能更好地使用[a-z]or \S(非空白字符)或类似的东西。例如,以下删除重复的单词(只留下任何特定单词的最后一次出现),除了始终保留的foo和出现bar。const final = 'aaa bbb foo ccc bar ddd foo bar aaa bbb';let res = final.replace(/(\b(?!foo|bar)\S+\b)(?=.*\b\1\b)/gi, "").trim();console.log(res);确保\b在反向引用周围使用。