Javascript 通过查找两个重复组中的一个来创建正则表达式组
我想把它分为1组和0组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
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
都使用了*
量词<代码>*表示“匹配前面的标记零次或多次”。正则表达式匹配一个空字符串,这将反映在最终输出中。要解决这个问题,您可以使用+
,这意味着“将前面的标记匹配一次多次”