带有负向后视的 VSCode 内部正则表达式搜索

cra*_*wap 2 regex visual-studio-code

在 VSCode 中,尝试搜索print(print (- 但前提是后面没有#

这是我第一次尝试在 VSCode 中进行正则表达式搜索...

示例:
print ('Test One')- 匹配
print( 'Test Two')- 匹配
#print('Test Fee')- 跳过

我从这个问题中了解到 VSCode 缺乏负面回顾。

通常,在^F(搜索功能)中,我会使用类似(未经测试)的内容:

/w*(?<!#)print
Run Code Online (Sandbox Code Playgroud)

但我收到正则表达式无效的错误。

任何人都可以提出解决方法 - 或者我只是对正则表达式进行了胖手指?

Wik*_*żew 5

更新注意:从 VS Code 1.31 开始,支持无限宽度的lookbehinds

但是,在当前场景中,您不必使用基于后视的解决方案,您可以使用

^\s*print\s*\(
Run Code Online (Sandbox Code Playgroud)

查看正则表达式演示

请注意,如果您只想匹配同一行上的文本,最好将其替换\s[ \t], 或[^\S\n]

细节

  • ^ - 一行的开始
  • \s* - 0+ 个空格
  • print - 文字子串
  • \s* - 0+ 个空格
  • \(- 一个(字符(必须转义以匹配文字()。

请注意,实际上 VSCode 仍然支持前瞻,但您需要启用search.usePCRE2option