我正在尝试编写正则表达式以确保数学方程语法正确我尝试了很多次,但我没有得到我想要的。
我需要你的帮助来找到一个正则表达式来处理以下情况:
op1 = op2 [+-*/%^] number or op3*
允许嵌套括号
op1 = (op2 [+-*/%^] ( op3 [+-*/%^] op4 ) ) [+-*/%^] op5 or number*
并且还允许合并两个表达式并允许操作数和操作之间的空格
我尝试使用正则表达式执行此操作,但这非常困难,我使用 Stacks 进行方程式验证并且效果很好
http://scriptasylum.com/tutorials/infix_postfix/algorithms/postfix-evaluation/
您可以通过平衡组来做到这一点,您可以阅读以下文章以获得平衡组的良好演示和解释。
http://www.codeproject.com/Articles/21183/In-Depth-with-NET-RegEx-Balanced-Grouping