-2

我想使用基于某些运算符的正则表达式来标记字符串。但是有些运算符将其他运算符包含为字符串。如

>= , > , [ 例如。>= 包含 >]

假设我有一个字符串

(3>=4)!=(3>4) [ 运算符是 >= , != , >]

如何正确标记它?

4

1 回答 1

2

您是否有理由必须使用正则表达式?我会说,如果您只是在其上使用字符串拆分功能,那对您来说会更容易。如果您从最复杂的运算符 (>=) 开始,那么您不必担心以后会拆分 >。

编辑:在下面添加示例

//Put operators in order of 'complexity'. Since >= contains > and =, comes before them
string[] operators = new string[] {">=", "!=", ">", "="};
string expression = "(3>=4)!=(3>4)";

foreach (string operator in operators)
{
    //Perform logic of creating expression tree here
}

所以基本上,在循环内部它会分解你的表达。您需要根据您的操作顺序在此处构建表达式树。

于 2013-09-24T17:32:13.293 回答