【发布时间】:2014-05-29 20:19:22
【问题描述】:
我正在使用像“4 + 5 + (7 - 9) + 8”这样的字符串并尝试在括号上拆分以获得包含 4 + 5、(7-9)、+ 8 的列表。所以我使用下面的正则表达式字符串。但它给了我 4 + 5, (7-9), 7-9 , + 8。希望它只是一些简单的事情。谢谢。
List<string> test = Regex.Split("4 + 5 + ( 7 - 9 ) + 8", @"(\(([^)]+)\))").ToList();
【问题讨论】:
-
+后面的4 + 5怎么样? -
如果您尝试通过解析来评估表达式,您可能需要查看Shunting-yard algorithm。
-
哦,是的,第一组的加号。谢谢你们只是额外的括号。那篇文章很有趣,可能是完成这项任务的更好方法。