Javascript 通过查找两个重复组中的一个来创建正则表达式组

Javascript 通过查找两个重复组中的一个来创建正则表达式组,javascript,regex,match,Javascript,Regex,Match,我想把它分为1组和0组 var string = '10011110000100101'; var matches = string.match(/0*|1*/gi); console.log(matches); 我现在得到 ["", "00", "", "", "", "", "0000", "", "00", "", "0", "", ""] 预期产出: ["1", "00", "1111", "0000", "1", "00", "1", "0", "1

我想把它分为1组和0组

    var string = '10011110000100101';

    var matches = string.match(/0*|1*/gi);

    console.log(matches);
我现在得到

 ["", "00", "", "", "", "", "0000", "", "00", "", "0", "", ""]
预期产出:

 ["1", "00", "1111", "0000", "1", "00", "1", "0", "1"]
1未分组,显示为空

如果我将1和0切换,则会发生相反的情况:

["1", "", "", "1111", "", "", "", "", "1", "", "", "1", "", "1", ""]

使用
+
代替
*

   var matches = string.match(/0+|1+/gi);

问题是
0*
与字符串中的
1
匹配。

使用
+
而不是
*

   var matches = string.match(/0+|1+/gi);

问题是
0*
与字符串中的
1
匹配。

使用
+
而不是
*

   var matches = string.match(/0+|1+/gi);

问题是
0*
与字符串中的
1
匹配。

使用
+
而不是
*

   var matches = string.match(/0+|1+/gi);

问题是
0*
匹配字符串中的
1

您对
0
1
都使用了
*
量词<代码>*表示“匹配前面的标记零次或多次”。正则表达式匹配一个空字符串,这将反映在最终输出中。要解决这个问题,您可以使用
+
,这意味着“将前面的标记匹配一次多次”


您对
0
1
都使用了
*
量词<代码>*表示“匹配前面的标记零次或多次”。正则表达式匹配一个空字符串,这将反映在最终输出中。要解决这个问题,您可以使用
+
,这意味着“将前面的标记匹配一次多次”


您对
0
1
都使用了
*
量词<代码>*表示“匹配前面的标记零次或多次”。正则表达式匹配一个空字符串,这将反映在最终输出中。要解决这个问题,您可以使用
+
,这意味着“将前面的标记匹配一次多次”


您对
0
1
都使用了
*
量词<代码>*表示“匹配前面的标记零次或多次”。正则表达式匹配一个空字符串,这将反映在最终输出中。要解决这个问题,您可以使用
+
,这意味着“将前面的标记匹配一次多次”