搜索eclipse工作空间,其中字符串不以

时间:2012-12-03 18:13:20

标签: regex eclipse

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

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

2 个答案:

答案 0 :(得分:1)

文件搜索选项卡中的以下正则表达式可以执行此操作:

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

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

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

(?<!//)部分是一个负面的背后 - 它只匹配在您要查找的事物之前具有括号内容的事物。

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

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

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

答案 1 :(得分:0)

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