<分区>
我正在用 Python 创建一种编程语言,我缺少的基本语言的一个主要组件是解析数学方程式的能力。我有解析数学的功能,但我需要能够检查输入是否是数学方程式。我正在寻找一个正则表达式来匹配 3*x^(4*y)+1-(7*y*z/x)。
<分区>
我正在用 Python 创建一种编程语言,我缺少的基本语言的一个主要组件是解析数学方程式的能力。我有解析数学的功能,但我需要能够检查输入是否是数学方程式。我正在寻找一个正则表达式来匹配 3*x^(4*y)+1-(7*y*z/x)。
最佳答案
你不能用正则表达式做你想做的事,它不是一种正则语言。 Python 有一些扩展,您可以滥用这些扩展来做您想做的事,但它是不可维护的,并且与使用解析器相比不会给您带来任何好处。
您想要的是一个解析器,一个非常易于使用的 Python 库称为 pyparsing .
这是一个相关的answer with a pyparsing example .
关于Python 数学正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7275980/
相关文章:
jquery - 将HTTP地址放入javascript变量中以进行json解析
python - 尝试将带有边缘的 txt.file 转换为边缘列表
python - $graphLookup 管道阶段后过滤结果
javascript - JavaScript 中的 RegEx - 开始和结束
Python Selenium - 如何点击 javascript 按钮
javascript - JS 正则表达式 : modify updateQueryString function to handle hash and empty values