我怎样才能获得正则表达式来查找javascript中的每个匹配项?

前端之家收集整理的这篇文章主要介绍了我怎样才能获得正则表达式来查找javascript中的每个匹配项?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > How can I match overlapping strings with regex?6个
如果我运行这个:
'121'.match(/[0-9]{2}/gi)

我得到一个结果的数组:

['12']

即使它们重叠,我怎样才能让它返回所有结果?我希望结果如下:

['12','21']

编辑:或者更好的例子是:

'1234567'.match(...);

应该给我一个数组

[12,
23,
34,
45,
56,
67]

这不会以你想要的方式工作.

当您指定pattern [0-9] {2}时,match()会查找第一次出现的两位数字,然后继续从该位置搜索.由于字符串长度为3,显然它不会找到另一个匹配.

您应该使用不同的算法来查找所有两位数字.我建议你使用你的第一场比赛的组合,再做一次跟随正则表达式

/ [0-9]([0-9] {2})/并组合第一次和第二次运行的集合.

猜你在找的正则表达式相关文章