Eclipse只能在字符串文字中找到结果吗?

时间:2011-02-09 15:08:37

标签: eclipse replace

让我们假设我有以下Java代码:

public String foo()
{
  // returns foo()
  String log = "foo() : Logging something!"
  return log;
}

我可以在Eclipse中搜索仅在字符串文字中出现的foo(),而不是代码中的其他任何地方吗?所以在这个示例中,Eclipse应该只找到foo()的第三个出现,而不是第一个出现,它是一个函数名而不是第二个,这是一个注释。

修改:简单的正则表达式不起作用,因为他们会在

这样的行中找到foo()
String temp = "literal" + foo() + "another literal"

但是这里foo()是函数名而不是字符串文字。

2 个答案:

答案 0 :(得分:2)

你可以这样试试:

"[^"\n]*foo\\(\\)[^"\n]*"

你必须转义括号,加上这个正则表达式与新行或其他引号不匹配,这会阻止错误的匹配。

答案 1 :(得分:1)

也许你应该使用正则表达式来找到两个“?

之间的任何foot()