0

在基于 Java 构建的语言中(所以我不能使用常规解析器)我想解析几个源代码文件并提取以下信息:

  • 公共(内部)类的名称和扩展/实现部分
  • 公共方法声明

所以对于给定的文件

public class A extends B {

  private int foo
  public int getFoo() {
    ...
  }

  private class Inner1 {

  }

  public class Inner2 {

  }
}

我想使用一个或多个正则表达式:

public class A extends B
public int getFoo()
public class Inner2
4

2 回答 2

2

让我知道这是否不够复杂,但它基本上会查找“public”,后跟一个空格,然后是不是左大括号的任何内容:

public\s[^{]+

输出如下:

在此处输入图像描述

于 2013-02-13T22:54:07.260 回答
0

您需要以任意数量的空格开头的行,然后是public,然后是一些空格,然后是一个单词字符:

^\s*public\s+\w

于 2013-02-13T22:56:40.987 回答