讓我們假設我有以下的Java代碼:Eclipse是否可以在字符串文本中查找結果?
public String foo()
{
// returns foo()
String log = "foo() : Logging something!"
return log;
}
我可以在Eclipse中搜索foo()
只在一個字符串字面發生,但不是任何其他地方的代碼?所以在這個例子中,Eclipse應該只能找到第三個出現foo()
,而不是第一個,這是第一個函數名,而不是第二個,這是一個註釋。
編輯:簡單的正則表達式將無法正常工作,因爲他們會發現foo()
在這行
String temp = "literal" + foo() + "another literal"
但這裏foo()
是一個函數名,而不是一個字符串。
我想你的意思是``[^「\ n] * foo \\(\\)[^」\ n] *「`。這是迄今爲止最好的正則表達式。但它會在'String log =「bla」+ foo()+「blabla」``行中找到匹配,其中`foo()`是一個函數名。它也會匹配字符串註釋中的字符串,如`//返回String「foo()」`。 – asmaier 2011-02-10 10:34:28