如何编写java正则表达式来识别java函数?

时间:2014-10-16 06:27:18

标签: java regex

我想识别java方法,就像字符串public native void TextTransArgs(int i, boolean flag, String s)一样。另外,我想提取方法名称,类型,返回类型和args-list类型。那么如何编写正则表达式?

public static void main(String[] args) { 
    Pattern pattern = Pattern.compile("(public|private|protected).*(?<=\\()[^\\)]+)");
    Matcher matcher = pattern.matcher("public native void TextTransArgs(int i, boolean flag, String s)");
    if(matcher.find()){
        System.out.println(matcher.group(1));
        System.out.println(matcher.group(2));
        ...
    } 
} 

1 个答案:

答案 0 :(得分:0)

这被称为定义语法,它更好地使用任何语法,如ANTLR。我建议首先看一下ANTLR结构。首先根据词法分析结构定义一个类。 HTH