我有一個問題,我想在 python 樣式函式宣告的字串中匹配函式引數。示例字串如下所示:
def test(abc, defvar, ghi)
(注意:我不想匹配函式宣告末尾的冒號 (:),因此我省略了它。可以假設字串的結尾是右括號')')
從上面的字串中,我希望分別得到abc, defvar, ghi。
我可以匹配整行
(?<=(def))\s \w \((\s*\w ,)*\s*\w \)
但我很難獲得引數。
任何幫助,將不勝感激。
問候,
Shrehan Raj Singh
uj5u.com熱心網友回復:
鑒于您的示例,一些簡單的事情def . \((. ), (. ), (. )\)應該可以作業。
在regex101.com上查看它。
uj5u.com熱心網友回復:
如果你想在 python 中獲取函式的變數名,你可以使用它。
def myfunc(arg1,arg2,arg3):
...
print(myfunc.__code__.co_varnames)
>>>('arg1','arg2','arg3')
如果沒有,你可以使用正則運算式>>>def \w \((\w ), (\w ), (\w )\)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/417513.html
標籤:
