我将验证如下简单的数学表达式:
a = 1 + 2
b = 2.2
a = b + 5.5
a = b - -5.5
a = -1 + 2
a = -2.4
a = 3.5 / 0.2 + 1
a = 3 * -2.1
注意:运算符优先级并不重要!
我尝试了以下表达式,但我一无所获!!!
for digits: ^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9]+$
for operators: [-]|[+]|[*]|[/]
for variables: [a-z]+|[A-Z]+
我将这些表达式放在 C# 字符串变量中,并使用 .net Regex.Matches(...) 来查找匹配项。但是我什么都没有!
请您参考如下方法:
这不是正则表达式的好工作。如果您想评估真正的数学表达式,您将无法想出可以处理所有情况的正则表达式。正如 Carl Norum 所说,这是关于为什么你不能解析 html with regex 的类似讨论。 .
