基于不同字符长度使用Javascript RegExp拆分字符串

基于不同字符长度使用Javascript RegExp拆分字符串,javascript,regex,Javascript,Regex,我有一个字符串如下所示: 12345678 (8 chars) ABCDEFGHIJKLMN (14 chars) 2018/05/20 (10 chars) 2018/05/30 (10 chars) ABCD (4 chars) “12345678ABCDEFGHIJKLMN2018/05/202018/05/30ABCD” 我想根据n大小的长度进行拆分: 8分,14分,10分,10分,4分 所以看起来是这样的: 12345678 (8 chars) ABCDEFGHIJKLMN

我有一个字符串如下所示:

12345678 (8 chars)

ABCDEFGHIJKLMN (14 chars)

2018/05/20 (10 chars)

2018/05/30 (10 chars)

ABCD (4 chars)
“12345678ABCDEFGHIJKLMN2018/05/202018/05/30ABCD”

我想根据n大小的长度进行拆分: 8分,14分,10分,10分,4分

所以看起来是这样的:

12345678 (8 chars)

ABCDEFGHIJKLMN (14 chars)

2018/05/20 (10 chars)

2018/05/30 (10 chars)

ABCD (4 chars)

我知道我可以这样做:
/(.{8})/
然后拆分字符串并继续
/(.{14})/
等等。。。但我想知道是否可以使用on RegExp?

将长度与组匹配

匹配结果包含完整匹配和组。要仅获取组,此解决方案需要对稀疏数组进行一次转换,以获得不包含第一个元素的数组

var string=“12345678ABCDEFGHIJKLMN2018/05/202018/05/30abc”,
[,…结果]=string.match(/^(.{8})(.{14})(.{10})(.{10})(.{4})$/);

控制台日志(结果)
Why
RegExp
,为什么不直接使用
substr
,因为你已经开始/编辑每个子字符串的位置了这也是可能的,我只是好奇这是否是regex可以处理的事情。你可以在一个组中使用多个regex子组regex@revo你能以多快的速度分辨出“…..”和“{14}”中的字符数?