2012-05-11 45 views
1

我有串名單如下:尋找一些團體

M64.933,9.425 
M53.333,19 
M81.333,20.67 
M90,33 

,我需要提取數整數或小數的羣體,我有以下的正則表達式(\ d * \ d +),對於第一組我的結果是工作:

["64.933", "64.933"] 
["53.333", "53.333"] 
["81.333", "81.333"] 
["90", "90"] 

分別,我怎麼能得到第二組?像這樣:

["64.933", "9.425"] 
["53.333", "19"] 
["81.333", "20.67"] 
["90", "33"] 

回答

1

嘗試使用正則表達式/\d+(\.\d+)?/g

var s = 'M64.933,9.425'; 
s.match(/\d+(\.\d+)?/g); // => ["64.933", "9.425"] 

例如:

var ss = ["M64.933,9.425", "M53.333,19", "M81.333,20.67", "M90,33"] 
var ns = ss.map(function(s) { return s.match(/\d+(\.\d+)?/g); }); 
ns // => [["64.933","9.425"],["53.333","19"],["81.333","20.67"],["90","33"]] 
+0

BINGO!非常感謝 –