Javaファイル内のすべてのメソッド署名と前のコメント(コメントが存在する場合)に一致する正規表現をpythonで実行しようとしています。しかし同時に、クラス属性宣言と一致させたくありません。私のコードは次のとおりです。
st:'''
/**
class attribute comments
*/
private Type class_attribute1;
private Type class_attribute2;
/**
* method1 comments.
*/
public Returnvalue method1(arguments OR no arguments) {
method1 body
}
private Returnvalue method2(arguments OR no arguments) {
method2 body
}'''
import re
print re.findall(r"([/][*].*?[*][/].*?(public|private|protected).*?{|\s(public|private|protected).*?{)", st, re.DOTALL)
しかし、クラス属性のコメントと宣言も出力します!
任意の助けをいただければ幸いです