是否可以使用正则表达式解析某些Java代码?用Java解析Java代码
所以我们说,我想从这个int
变量列表:
int abc1 = 1;
int abc2 = abc1 + 1;
int abd3 = abc1 + abc2;
而且我希望把这些成ArrayList
。
因此,像这样:
private void parse(String s){
List<List<String>> variables = new ArrayList<List<String>>();
list.add(new ArrayList<String>);//var type
list.add(new ArrayList<String>);//var name
list.add(new ArrayList<String>);//var data
Pattern p = Pattern.compile();//This is what I want
Matcher m = p.matcher(s);
while(m.find()){
String match = m.group();
Pattern p2 = Pattern.compile();//Here as well
Matcher m2 = p.matcher(s);
while(m2.find()){
for(int i = 0; i < m.groupCount()){
//add the variables to the lists
}
}
}
}
我所问的是什么样的正则表达式可能可能完成这一任务?
这样做的原因是所有这样的用户可以采取有点过使用位的代码应用控制的(一个Android应用顺便说一句)
如果不建议使用一个正则表达式,那么我应该使用什么解析器?
就像一个评论,有很多[Java解析器](http://www.google.com/?q=java+parser)可用。我不会试图用正则表达式来做到这一点。 –
你该读什么java文件? –
这背后的动机是什么? – Sikorski