2012-04-09 10 views
0

float値のパターンのヘルプが必要です。文字列のパターンマッチング

文字列私が持っている:私が使用している

[[-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]の問題。
どのような変更をこのパターンで行う必要がありますか。

+1

を使用することができます[非常に良いリンク](http://www.regular-expressions.info/floatingpoint.html)正規表現のための「料理スタイル」例があります。あなたが必要とするものは次のとおりです: '[ - +]?[0-9] * \。[0-9] +([eE] [ - +]?[0-9] +)? ' – dasblinkenlight

+0

正規表現を使用するには?カンマで分割してdoubleを使うことはできませんか? –

答えて

0

あなたが小数点以下のために+や*が欠落しているようだ:正規表現のための

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

私はこのパターンを\ s * [ - +]?([0-9] * \。)?[0-9] *([eE] [ - +]?[0-9] +)?\ s * Plsは一見を持っています。 – user1213444

2

必要はありません。あなたはここにJavaScriptSerializer

var list = new JavaScriptSerializer() 
       .Deserialize<List<List<List<Double>>>>("[" + yourstr + "]"); 
関連する問題