在Eclipse File Search
中,您可以搜索“包含文本”并使用“文件名模式”过滤结果。例如,如果使用文件名模式“My * .java”搜索setValue(int x)
,您将在名为setValue(int x)
的文件中找到MyGame.java
方法,但不会在名为{{1}的文件中找到YourGame.java
方法}。现在我需要一种方法来过滤搜索,只显示特定方法的结果。例如,如果我有10个类重写了init()
方法和同一个超类的reset()
方法。在init()
和reset()
内部调用setValue(int x)
。现在我想搜索setValue(int x)
的所有出现,但仅在init()
方法内。有没有办法做到这一点?使用正则表达式或者Eclipse有这样的方法吗?
感谢
答案 0 :(得分:0)
我找到了一个或多或少的工作表达式:
(?s)methodname.*(?-s)set.*parma1, param2
让我解释一下:
n*
匹配“nnn”,“n”和“”。与“。”结合使用。 (DOT)它匹配任何字符的0-n出现,除了“\ n”因此,此表达式搜索“methodname”,后跟0-n个字符(也是“\ n”),后跟“set”,后跟0-n个字符(不带“\ n”),后跟“param1” ,param2“。 有可能,它会在“methodname”方法之后找到方法调用,但我不认为你可以控制它。 希望它有所帮助