字符串的模式匹配

时间:2012-04-09 14:16:22

标签: c# regex

我需要一个浮动值模式的帮助。

我拥有的字符串:

[[-307.,16.01,-171.31],[0.84528,-0.503623,-0.142485,-0.107531],[-1,-2,1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], [[-306.43,24.47,-176],[0.845282,-0.503624,-0.142472,-0.107528],[-1,-2,1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]

我正在使用的模式:

\s*[-+]?([0-9]*\.)?[0-9]*([eE][-+]?[0-9]+)?\s*

我在模式中需要做哪些更改,以便能够识别整个文本。现在问题是 [306.43,24.47,-176]这是这个长串的一部分。
我对这种模式有什么改变。

2 个答案:

答案 0 :(得分:2)

不需要正则表达式。您可以使用JavaScriptSerializer

var list = new JavaScriptSerializer()
                .Deserialize<List<List<List<Double>>>>("[" + yourstr + "]");

答案 1 :(得分:0)

您似乎缺少小数位的+或*:

\s*[-+]?([0-9].)?[0-9]+([eE][-+]?[0-9]+)?\s*