我有这种方法的签名我想分析:正则表达式匹配这种方法签名
.method [list of words than can or cant appear] MethodName([List of params])ReturnType
在这里举例的2周方法的签名我需要解析:
.method Paracasa(Ljava/lang/String;I)V
.method public static OnDone()V
的主要问题是.method和MethodName之间出现的词可以存在或不存在,如果它们存在,我需要捕获它们。我有一个解决方案,但我相信会有一个更清晰的解决方案,我想知道。我的解决办法是
\.method(?:\s+(.*)\s+|\s+)(.+)\((.*)\)\s*(.*)
正如你可以看到我已经添加了两个选择,我的意思是,如果出现这个群体。方法和方法名之间的话也没有。但对我来说似乎很肮脏。
难道可以通过另一种方式吗?
在此先感谢。
我们在这里讨论的是java方法的名字,所以你想要匹配像public,private,protected,static等关键字? –
嗯,没有。你是对的这来自一个java源代码,但这是smali,在[可能或不能出现的单词列表]我已经看到与java关键字不匹配的东西(现在不能重新注册)。所以这就是为什么我想要捕捉这部分中的所有文本以保证安全。 – Notbad