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

时间:2018-05-18 10:44:42

标签: javascript regex

我有一个看起来像这样的字符串:

"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})/等等......但我想知道是否可以使用RegExp?

1 个答案:

答案 0 :(得分:2)

你可以匹配长度'与团体。

匹配结果包含完整匹配和组。为了只获取组,此解决方案将destructuring assignment带到rest parameters ...的稀疏数组,以获取没有第一个元素的数组。



var string = "12345678ABCDEFGHIJKLMN2018/05/202018/05/30ABCD",
    [, ...result] = string.match(/^(.{8})(.{14})(.{10})(.{10})(.{4})$/);
    
console.log(result);