此问题已在此处有答案:
How can I match overlapping strings with regex?(6个回答)
How to use regex to find all overlapping matches(5个答案)
Overlapping matches in Regex(3个答案)
上个月关门了。
我如何在这里提取两个重叠的匹配?
console.log(', , ,'.match(/,\s+,/g));
第一场:
', , ,'
^ ^
from --+ |
to ------+
第二场比赛:
', , ,'
^ ^
from ----+ |
to --------+
- 对于输入
", ,"
,它应该匹配一次 - 对于输入
", , ,"
,它应该匹配两次 - 对于输入
", , , ,"
,它应该匹配三次
3条答案
按热度按时间xlpyo6sf1#
您不想直接匹配逗号,而是想使用“积极前瞻”来检查
,
是否超过匹配的右边缘。这样,下一个组也可以匹配
,
:6xfqseft2#
获取重叠匹配的一种方法是使用带有捕获组的lookahead:
zed5wv103#