【发布时间】:2018-05-23 18:06:26
【问题描述】:
我有一个十进制的二进制表示:
1000010001
我想匹配两端被一包围的连续零序列10001。
所以在我的字符串中有两个这样的事件:
100001
10001
但由于某种原因,match 和 g 只返回第一个:
'1000010001'.match(/(?:10+1)+/ig)
> ["100001"]
为什么不两者兼而有之?如何让它返回所有出现的事件?
【问题讨论】:
-
第一个匹配“消耗”第二个
1数字。如果您在循环中进行匹配,则可以在每次匹配后将正则表达式备份 1。 -
在某处有一个骗局。我正在搜索....底线是:当
100001匹配时,字符串中剩下的是0001,因此在其余部分应用正则表达式将不匹配。
标签: javascript regex