我有用户可以提供的表达式,例如:
a*sin(w*t)
a+b/c
x^2+y^2/2
我想在那里得到变量列表。我不需要做任何替换。所以,对于第一个公式,它将是{a,w,t}
. 对于第二个{a,b,c}
,最后一个{x,y}
。
该表达式主要编写为使用 Sympy 解析,但我需要能够获取 C++ 中的变量列表以进行一些检查。我想:
- 避免将整个 Python 解释器链接到我的程序
- 避免重新发明轮子,因为我看到有许多可用的解析库,例如
muparser
,但我不知道其中任何一个是否提供此功能
最简单的方法是什么?你将如何解决这个问题?