【发布时间】:2017-03-07 00:36:21
【问题描述】:
我正在构建一个应用程序,用户可以在其中为某些字段指定表达式。表达式也应包含函数。我需要评估这些表达式并在报告中显示最终值。
我有一个表达式来提取函数名及其参数。以前,函数参数是十进制值。但是现在,参数也可以是表达式。
例如,
Round( 1 * (1+ 1 /100) % (2 -1), 0)
Function-name : Round
Parameter1 : 1 * (1+ 1 /100) % (2 -1)
Parameter2 : 0
以前的正则表达式:
string pattern2 = @"([a-zA-Z]{1,})[[:blank:]]{0,}\(([^\(\)]{0,})\)";
这个正则表达式不再帮助我找到表达式参数。
有人可以帮助我使用正确的正则表达式来提取函数名和参数吗?我正在实现 Math 类支持的所有或大部分功能。 该程序是用c#构建的
提前感谢您的帮助。
【问题讨论】:
-
带有函数的表达式不是正则语言,所以不能假设能够用正则表达式解析它们。