1
string[] num = Regex.Split(expr, @"\(|\)|\-|\+|\*|\/").Where(s => !String.IsNullOrEmpty(s)).ToArray();

このために、私は演算子ブレースを取得しています。

4

1 に答える 1

1

ルックアラウンド、つまり先読みと後読みを使用して入力を分割します

 (?<=\(|\)|\-|\+|\*|\/)|(?=\(|\)|\-|\+|\*|\/)
                       ^

ルックアラウンドがないと、正規表現エンジンはそれらの文字で分割され、それを食べます。つまり、結果に表示されません

数式を評価したい場合は、これらを見てください

于 2013-06-27T06:30:44.523 に答える