我有這種方法的簽名我想分析:正則表達式匹配這種方法簽名
.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