正则表达式提取java源代码中的主类

时间:2016-02-18 17:05:37

标签: java regex

我有一个多类java文件。其中一个类包含一个main方法(public static void main ...)。例如:

class one {...}
class two {...}
class three {
   public static void main(String[] args) {...}
}

我试过

class.*?[^.*?]*?main

但是匹配从第一阶段开始而不是第三阶段

1 个答案:

答案 0 :(得分:2)

\s*static\s*void\s*main\s*\(\s*String\s*\[\]\s*[^\)]*\)

如果你想要类的名字,你可以测试这个正则表达式

class\s*([^\{]*)\{\s*.*static\s*void\s*main\s*\(\s*String\s*\[\]\s*[^\)]*\).*