【发布时间】:2023-03-17 04:09:01
【问题描述】:
我想运行一个正则表达式来查找我的代码中声明动画持续时间的实例:例如duration: 2000 并将它们替换为该持续时间加上一个添加的变量 timeScale,例如duration: timeScale * 2000
我的一些代码库已经有了这个 - 所以我想找到duration: 后面没有timeScale 的所有实例。
我知道我可以通过说:^((?!timescale).)*$ 找到不存在的东西
但是我如何将它(或类似的东西)与确实存在的东西(duration:)结合起来?
更新:
我实际上可以在正则表达式测试器中运行它:
https://regex101.com/r/vY3pY3/1
duration: (?!timescale)
但是如何在 VSCode 中运行它?它给出了错误说unrecognized flag !
【问题讨论】:
-
负前瞻是
(?!timeScale),而不是(?!=timeScale),你有一个额外的等号。 -
更新你的 VSCode 并使用
^(?!.*timescale).*duration:。不知道为什么在您的情况下不接受前瞻。 -
@WiktorStribiżew - 在这种情况下,它似乎也不喜欢使用
!。有趣的是,如果我只是输入^(?!.*timescale)它不会抛出错误,但它会说它匹配所有内容 -
@WiktorStribiżew - 您的解决方案,加上将 useRipGrep 设置为 false,对我有用!如果您将其发布为答案,我会接受。
-
@mheavers Posted, see below.
标签: javascript regex replace visual-studio-code