我正在尝试进行一些代码重构,并且在做很多事情时,我正在使用WebStorm的正则表达式在文件中查找以查看哪些文件仍需要重构。
我知道这个(?:^|(?=[^']).\b)(this.user|this.isVatRegistered|showStatsInNet)\b
将显示所有带有其中一部分代码的文件。
根据这篇文章:Match string that doesn't contain a specific word ^(?!.*UserMixin).*$
应该做出负面的展望,以便仅在该词不存在时才能匹配。
我的问题是我不知道如何组合它们。有人可以提供一些指导吗?
我尝试像这样(?:^|(?=[^']).\b)(?!.*UserMixin)(this.user|this.isVatRegistered|showStatsInNet)\b
进行合并,但无济于事。
TL; DR 仅当不存在另一个单词时,如何匹配X个单词?
答案 0 :(得分:1)
您必须先使用负前瞻,然后尝试匹配那些子字符串:
\A(?![\d\D]*?UserMixin)[\d\D]*?\b(?:this\.(?:user|isVatRegistered)|showStatsInNet)\b
这是很耗时的,因为有两次[\d\D]*?
出现将光标逐个字符移动到文件内容的末尾。