正则expression式中匹配组的可变数量?

所以我想分析出这样的string(不要担心,这只是Node.JS,似乎在RegEx中支持unicode):

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

并取回群体

 [ hello,你好:,大家好:,您好:,吃饭了吗: ] 

但是,现在只有[hello, 吃饭了吗]是结果。

我真的需要分割正则expression式的结果来实现我想要的吗?

是的,你必须。 组只记得他们捕获的最后一个值。