0

在 Eclipse 工作区搜索 (CTRL+H) 中,可以使用什么正则表达式来查找不以 2 个前导正斜杠 (/) 开头的单词的出现 - 或者换句话说,没有注释?

例如//var_dump,and// var_dump是不匹配的,但是var_dump是要匹配的。

4

2 回答 2

1

文件搜索选项卡中的以下正则表达式可以做到这一点:

(?<!//)[ \t]*var_dump

如果您只关心一行中的第一个单词,请在其前面加上一个插入符号:

^(?<!//)[ \t]*var_dump

(?<!//)部分是一个否定的后视 - 它只匹配在您正在寻找的东西之前没有括号内容的东西。

但是,如果您要查找没有注释的变量,而不是前面没有特定组合“//”的变量,则最好使用语法感知搜索,这取决于所使用的语言。例如,此正则表达式仍将匹配/* var_dump */,您可能希望也可能不希望发生这种情况。语法感知搜索会知道这已被注释。

如果您查看“搜索”窗口,您将看到“Java 搜索”选项卡和您可能拥有的其他插件的选项卡(例如,我有“C/C++ 搜索”和“Git 搜索”)。在这些选项卡中,您可以选择仅搜索函数、变量、类或在该语言中有意义的任何其他内容。

您可能想要的另一件事是点击Ctrl- Shift-G一个单词,它会在您的代码中列出对该对象的所有引用 - 在尝试追踪调用您的函数或使用您的变量时非常有用。

于 2012-12-03T18:30:25.670 回答
0

如果您要查找变量名称(或任何其他类型的 Java 元素的名称),您可以使用 Java 搜索而不是文件搜索。您没有正则表达式支持,但搜索知道您正在寻找变量/类名,因此您不必担心周围的语法。

于 2012-12-03T18:27:05.817 回答