简体   繁体   English

如何编写Java正则表达式来标识Java函数?

[英]How to write a java regular expression to identify java functions?

I want to identify the java methods, just like string public native void TextTransArgs(int i, boolean flag, String s) . 我想识别java方法,就像字符串public native void TextTransArgs(int i, boolean flag, String s) Also, I want to extract the method name, type, return-type and the args-list type(s).So how to write the regular expression? 另外,我想提取方法名称,类型,返回类型和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));
        ...
    } 
} 

this is known as defining grammar, its better to use any grammar like ANTLR. 这称为定义语法,最好使用任何语法,例如ANTLR。 i'ld recommend to see the ANTLR structure first.OR first define a class based on Lexical analysis structure. 我建议先看看ANTLR结构。或者首先根据词法分析结构定义一个类。 HTH HTH

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM