Javascript Regex将字符串拆分为分组/连续字符数组

时间:2011-09-21 05:31:17

标签: javascript regex arrays string split

我正在尝试做这个人正在做的事情,只是他在Ruby中这样做,我试图通过Javascript来做:

Split a string into an array based on runs of contiguous characters

它基本上只是将一个字符串拆分成一个连续字符数组 - 例如:

给出输入字符串

'aaaabbbbczzxxxhhnnppp'

将成为

的数组

['aaaa','bbbb','c','zz','xxx','hh','nn','ppp']

我最接近的是:

    var matches = 'aaaabbbbczzxxxhhnnppp'.split(/((.)\2*)/g);
    for (var i = 1; i+3 <= matches.length; i += 3) {
        alert(matches[i]);
    }

实际上有点/ sorta工作...但不是真的..我显然分裂太多了,否则我不会用+3索引操作来消除虚假条目。

我怎样才能得到一个只有我想要的干净阵列?

谢谢 -

1 个答案:

答案 0 :(得分:7)

你的正则表达式很好,你只是使用了错误的功能。使用String.match,而不是String.split:

var matches = 'aaaabbbbczzxxxhhnnppp'.match(/((.)\2*)/g);