让我们假设我有以下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()
是函数名而不是字符串文字。
答案 0 :(得分:2)
你可以这样试试:
"[^"\n]*foo\\(\\)[^"\n]*"
你必须转义括号,加上这个正则表达式与新行或其他引号不匹配,这会阻止错误的匹配。
答案 1 :(得分:1)
也许你应该使用正则表达式来找到两个“?
之间的任何foot()