正则表达式仅在单词不存在时才查找 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]*?
事件会将光标一个字符一个字符地移动到文件内容的末尾。
我正在尝试进行一些代码重构,因为我做了很多事情,所以我正在使用 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]*?
事件会将光标一个字符一个字符地移动到文件内容的末尾。