4

我有一个这样的字符串foo bar(5) baz(0, 3),需要根据每个部分之间的空格将其拆分为各个部分。所以结果需要如下所示:['foo', 'bar(5)', 'baz(0, 3)'].

我试过这样的事情:

var str = 'foo bar(5) baz(0, 3)';
str.split(' '); // => ['foo', 'bar(5)', 'baz(0,', '3)']

如您所见,结果不是我所期望的...任何想法如何正确拆分它?我认为这是大师们的RegExp转折点……

更新

一种简单的方法可能是将 all 替换,,

str.replace(/, /g, ',').split(' ');

但这对我来说真的不好看...

4

1 回答 1

4

你可以用.match这个。

str.match(/\w+(\(.*?\))?/g)
=> ["foo", "bar(5)", "baz(0, 3)"]
于 2013-08-12T06:42:38.950 回答