gpt4 book ai didi

python - 使用正则表达式查找函数调用

转载 作者:太空宇宙 更新时间:2023-11-03 18:47:18 25 4
gpt4 key购买 nike

我正在尝试检测调用链之间的函数。

例如,我可以使用

re.search("([\w_]+)\((|[\W\d\w\,]+)\)", line)

寻找

print(len("AA"))

但它与以下代码相当不兼容:

print(i + len("AA") + j + len("BBB"))

帮助我。

最佳答案

ast 模块可能会更好地满足您的需求:

import ast

a = ast.parse('print(i + len("AA") + j + len("BBB"))')
print ast.dump(a)

>>>
Module(body=[Print(dest=None, values=[BinOp(left=BinOp(left=BinOp(left=Name(id='i',
ctx=Load()), op=Add(), right=Call(func=Name(id='len', ctx=Load()), args=[Str(s='AA')],
keywords=[], starargs=None, kwargs=None)), op=Add(), right=Name(id='j', ctx=Load())),
op=Add(), right=Call(func=Name(id='len', ctx=Load()), args=[Str(s='BBB')], keywords=[],
starargs=None, kwargs=None))], nl=True)])

关于python - 使用正则表达式查找函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19219727/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com