Python 数学正则表达式

标签 python regex parsing math language-design

<分区>

我正在用 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解析

html - nokogiri 多个 css 类

javascript - Python 到 Node/JS

python - 尝试将带有边缘的 txt.file 转换为边缘列表

python - $graphLookup 管道阶段后过滤结果

javascript - JavaScript 中的 RegEx - 开始和结束

Python Selenium - 如何点击 javascript 按钮

javascript - JS 正则表达式 : modify updateQueryString function to handle hash and empty values

python - 是否可以对除预定义单词之外的所有单词进行标记?

c++ - token 的类层次结构并在解析器中检查它们的类型