我正在解析有条件的字符串。最简单的是“x <3”。对于更复杂的,它可以是“((x <3)||(y> 4))&amp;&amp;(z == 5)”。我可以在C#中使用以下内容完成所有这些:
string[] condTokens = new Regex(@"([\(\)])").Split(conditionalExpression.Trim());
这给了我用标记分解的表达 - 效果很好。
然而......我遇到了问题:
"((x < 3) || (y > 4)) && (z == GetNum(x,y))"
因为“GetNum()”需要是一个令牌。
关于如何制作一个可以处理这个问题的正则表达式,有什么想法?
更新:这标记为过于宽泛,但这是一个非常具体的问题。另外@ linden2015提供了一个非常聪明的解决方案。