【发布时间】:2012-09-05 15:40:35
【问题描述】:
为什么会这样:
/(\[#([0-9]{8})\])/g.exec("[#12345678] [#87654321] [#56233001] [#36381069] [#23416459] [#56435355]")
返回
[“[#12345678]”、“[#12345678]”、“12345678”]
我希望它匹配所有这些数字,但它似乎太贪心了。
[#12345678] [#87654321] [#56233001] [#36381069] [#23416459] [#56435355] 12345678 87654321 56233001 36381069 23416459 56435355
【问题讨论】:
-
它并不贪心。
exec仅显示第一个匹配项,但返回一个数组。因此,遍历匹配数组并删除外部捕获括号。
标签: javascript regex regex-greedy