【发布时间】:2011-01-08 06:18:59
【问题描述】:
是否有一个正则表达式可以解析表示简单布尔算术的字符串(在 Python 和/或 Javascript 中,不需要是相同的表达式)?比如我要解析这个字符串:
a and (b and c) and d or e and (f or g)
假设:
* 括号不嵌套
* a, b, ..., z 不是子表达式
生成的捕获应首先按括号分组,然后我使用相同或更简单的正则表达式再次对其进行解析。
我已经成功编写了一个简单的正则表达式来解析没有括号的布尔算术。
有什么想法吗?
【问题讨论】:
-
你到底想做什么?
-
我有一个自定义的客户端 JS 实现,它产生这样一个布尔算术表达式(其中 a、b、c ......实际上是字段查找,供以后在 Django ORM 过滤器中使用)然后发布到服务器并用 Python 解析。我希望这是有道理的。
-
所以您想解析该表达式以便稍后对其进行评估,对吧?
-
不确定您所说的“评估”是什么意思。在这一点上,我不太关心实际术语,因为我已经有了一个不错的实现来识别 a、b、...、z 中的标记。
标签: javascript python regex