2012-01-15 83 views
1

所以我想分析出這樣的字符串(別擔心,這只是Node.js的,這似乎排序在正則表達式支持Unicode的):正則表達式中匹配組的可變數量?

var s = 'hello :你好:大家好:您好:吃飯了嗎:'; 
console.log(s.match(/^([^ ]+) :([^:]+:)*/)); 

,並取回的

[ 
    hello, 
    你好:, 
    大家好:, 
    您好:, 
    吃飯了嗎: 
] 

但是,現在只有[hello, 吃飯了嗎]是結果。

我真的需要分割正則表達式的結果來實現我想要的嗎?

+1

[如何在JavaScript Regexp中捕獲任意數量的組?](http://stackoverflow.com/questions/3537878/how-to-capture-an-arbitrary-number-of-groups-in -javascript,正則表達式) – pimvdb 2012-01-15 16:46:59

回答

1

是的,你必須。組只記住它們捕獲的最後一個值。