正则表达式仅在单词不存在时才查找 X 单词

Regex to find X words only when a word doesn't exist

我正在尝试进行一些代码重构,因为我做了很多事情,所以我正在使用 WebStorm 的正则表达式在文件中查找以查看哪些文件仍需要重构。

我知道这 (?:^|(?=[^']).\b)(this.user|this.isVatRegistered|showStatsInNet)\b 将显示所有包含这些代码之一的文件。

并且根据这个 post:Match string that doesn't contain a specific word ^(?!.*UserMixin).*$ 应该做一个否定的前瞻,只有当那个词不存在时才匹配。

我的问题是我不知道如何组合它们。有人可以提供一些指导吗?

我试过这样合并:(?:^|(?=[^']).\b)(?!.*UserMixin)(this.user|this.isVatRegistered|showStatsInNet)\b但没有用。

TL;DR 如何仅在另一个词不存在时匹配 X 个词?

您必须使用否定前瞻,然后尝试匹配这些子字符串:

\A(?![\d\D]*?UserMixin)[\d\D]*?\b(?:this\.(?:user|isVatRegistered)|showStatsInNet)\b

这会很耗时,因为有两次 [\d\D]*? 事件会将光标一个字符一个字符地移动到文件内容的末尾。