我想运行一个正则表达式来在我的代码中找到声明动画持续时间的实例: duration: 2000并用该持续时间替换它们,并添加一个变量timeScale,例如duration: timeScale * 2000

我的某些代码库已经具有此功能-因此,我想查找所有duration:实例,这些实例后面没有timeScale

我知道我可以说出以下内容找到不存在的内容:^((?!timescale).)*$

但是,如何将其(或类似的东西)与存在的事物(duration:)结合起来?

更新:

我实际上可以在正则表达式测试器中运行它:

https://regex101.com/r/vY3pY3/1

duration: (?!timescale)

但是,如何在VSCode中运行它?它给出错误,提示unrecognized flag !

javascript - VSCode查找和替换-查找实例,其中搜索表达式的一部分与条件匹配,而一部分与条件不匹配-LMLPHP

最佳答案

根据您的反馈,确保将useRipGrep设置为false并使用

^(?!.*timescale).*duration:


细节


^-行首
(?!.*timescale)-否定的超前查询,当除换行符以外的任何0+字符后有timescale子字符串时,匹配失败
.*-尽可能多的除换行符以外的0+个字符
duration:-一个duration:子字符串


请参见regex demo

注意:从VSCode 1.29开始,您需要enable search.usePCRE2 option在正则表达式模式中启用先行。

关于javascript - VSCode查找和替换-查找实例,其中搜索表达式的一部分与条件匹配,而一部分与条件不匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50988476/

10-13 09:51