我想找到調用函數名稱的類名。解析Python函數的類名稱
E.g.假設我有:
class foo1(object):
bar1()
class foo2(object):
bar2()
class foo3(object):
bar3()
如果我在尋找BAR2()我想收到:
class foo2(object):
bar2()
我想正則表達式class[\s\S]*bar2\(\)(?!class)
的想法是,我會爲另一個類的外觀負先行。不幸的是,它看起來像[\ s \ S]已經匹配所有內容:https://regex101.com/r/kZ7eE5/1
如果「class」只出現一次,而所有其他字符(包括新行和製表符)匹配,是否有匹配的方法?
另外,不要求正則表達式的選擇將被接受。
爲什麼用正則表達式解析Python? – jonrsharpe
只需掃描一行並記住所遇到的最後一個班級定義,您的機會可能會更好。此外,嵌套的類,或方法或方法_with_嵌套類呢? –
我想分析代碼庫。有沒有另一種工具可以解析Python? –