Java 特定方法中的Eclipse搜索结果

Java 特定方法中的Eclipse搜索结果,java,regex,eclipse,search,Java,Regex,Eclipse,Search,在Eclipse文件搜索中可以搜索“包含文本”并使用“文件名模式”过滤结果。例如,如果使用文件名模式“My*.java”搜索setValue(int x),您将在名为MyGame.java的文件中找到setValue(int x)方法,但在名为YourGame.java的文件中找不到。现在,我需要一种方法来过滤搜索,以便只显示特定方法中的结果。例如,如果我有10个类覆盖同一超类的init()方法和reset()方法。在init()和reset()中调用setValue(int x)。现在我想搜索

在Eclipse
文件搜索中
可以搜索“包含文本”并使用“文件名模式”过滤结果。例如,如果使用文件名模式“My*.java”搜索
setValue(int x)
,您将在名为
MyGame.java
的文件中找到
setValue(int x)
方法,但在名为
YourGame.java
的文件中找不到。现在,我需要一种方法来过滤搜索,以便只显示特定方法中的结果。例如,如果我有10个类覆盖同一超类的
init()
方法和
reset()
方法。在
init()
reset()
中调用
setValue(int x)
。现在我想搜索所有出现的
setValue(intx)
,但只在
init()方法中搜索。有办法做到这一点吗?或者Eclipse有这样的方法吗?

谢谢

我找到了一个或多或少有用的表达方式:

(?s)methodname.*(?-s)set.*parma1, param2
让我解释一下:

  • “.”(点)代表除“\n”(换行符)以外的1个字符
  • “*”(星号)表示前面的字符可以出现0-n次,因此
    n*
    匹配“nnn”、“n”和“”。与“.”(点)组合使用时,它匹配任何字符的0-n次出现,但“\n”除外
  • (?s)修改“.”(点)的函数,以便它也接受“\n”
  • (-s)关闭(?s),使“.”(点)不再接受“\n”
因此,此表达式搜索“methodname”,后跟0-n个字符(也称“\n”),后跟“set”,后跟0-n个字符(不带“\n”),后跟“param1,param2”。 它有可能在“methodname”方法之外找到methodcall,但我认为您无法控制它。
希望对我的问题有所帮助。你可以从中得到一些线索。