让我们假设我有以下Java代码:
public String foo()
{
// returns foo()
String log = "foo() : Logging something!"
return log;
}
Run Code Online (Sandbox Code Playgroud)
我可以在Eclipse中搜索foo()仅在字符串文字中出现,但不能在代码中的任何其他地方进行搜索吗?所以在这里的示例中,Eclipse应该只找到第三个出现foo(),而不是第一个出现,它是一个函数名而不是第二个,它是一个注释.
编辑:简单的正则表达式将无法正常工作,因为它们会foo()在一行中找到
String temp = "literal" + foo() + "another literal"
Run Code Online (Sandbox Code Playgroud)
但这foo()是函数名称而不是字符串文字.
你可以这样尝试:
"[^"\n]*foo\\(\\)[^"\n]*"
Run Code Online (Sandbox Code Playgroud)
您必须转义括号,而且此正则表达式不匹配新行或附加引号,这可以防止错误匹配。
| 归档时间: |
|
| 查看次数: |
2226 次 |
| 最近记录: |