gpt4 book ai didi

java - Eclipse搜索结果具体方法

转载 作者:太空宇宙 更新时间:2023-11-04 15:08:53 25 4
gpt4 key购买 nike

在 Eclipse 中 File Search您可以搜索“包含文本”并使用“文件名模式”过滤结果。例如,如果您搜索 setValue(int x)使用文件名模式“My*.java”,您将找到 setValue(int x)名为 MyGame.java 的文件中的方法,但不在名为 YourGame.java 的文件中。现在我需要一种方法来过滤搜索以仅显示特定方法的结果。例如,如果我有 10 个类覆盖 init()方法和reset()同一父类(super class)的方法。里面init()reset() setValue(int x)被叫。现在我想搜索所有出现的 setValue(int x) ,但仅限于 init() 内方法。有没有办法做到这一点?使用正则表达式也许或者 Eclipse 有这样的方法吗?谢谢

最佳答案

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

(?s)methodname.*(?-s)set.*parma1, param2

让我解释一下:

  • “.” (DOT) 代表除“\n”(换行符)之外的 1 个字符
  • “*”(星号)表示其前面的字符可以出现 0-n 次,因此 n* 匹配“nnn”、“n”以及“”。与“.”结合使用。 (DOT) 它匹配 0-n 次出现的任何字符,除了“\n”
  • (?s) 修饰“.”的功能。 (点),以便它也接受“\n”
  • (?-s) 关闭 (?s),以便“.” (DOT) 不再接受“\n”。

因此,此表达式搜索“methodname”,后跟 0-n 个字符(也为“\n”),后跟“set”,后跟 0-n 个字符(没有“\n”),后跟“param1” ,参数2”。它有可能在“methodname”方法之后但在“methodname”方法之外找到一个方法调用,但我认为您无法控制这一点。希望对您有帮助

关于java - Eclipse搜索结果具体方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21603932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com