【发布时间】:2017-12-09 07:37:06
【问题描述】:
我搜索了一些帖子,但找不到适合我的问题的解决方案。
我想要[] 内的所有数字。
我在regex101 上测试了以下正则表达式:
\\[.\*([0-9]++).*\\] ..... /gU <- Flags
测试字符串:
Test bla bla [us_image_slider ids="6207,6204,6203,6199,6484,6470" nav="thumbs" img_size="us_img_size_2"] some numbers 232323 [img="344"] and [daas 23344 2333]2323 ( hello 233 )
我的正则表达式只找到第一个数字,而不是方括号内的其他数字:(
结果必须是: 匹配0 = 6207 匹配1 = 6204 ...
希望你能帮助我,谢谢。
【问题讨论】:
-
能否请您格式化您的问题,使其更具可读性?
-
它不匹配其他数字,因为您在第一次匹配后匹配所有
.*。你追求的是积极的前瞻\d+(?=[^][]*\]) -
上面的例子你有左括号如果你有 [ bla bla 123,456, bla [abg,789] bla 它应该返回 123,456, 789 或只是 789 会发生什么?
-
问题解决了,非常感谢,我只是想念你的正则表达式;)