【发布时间】:2019-02-19 09:30:04
【问题描述】:
我需要一个正则表达式来匹配以下可以嵌套的数字数组。这些应该通过:
[]
[1, 2, 3]
[1, 2, 3, [1,2,3], 5]
但以下内容应未通过测试:
abc
1
[1,2,3
[#]
这行得通:
/(^\[)(\d+\,|\s(?:(|\,))|\d+|\s\[|\]\,)*(\]$)/g
有没有更好的方法来达到同样的效果。我尝试过前瞻,但不完全理解它,也无法让它工作。
【问题讨论】:
-
[1, 2, 3, [1,2,3]也通过了,我敢打赌这是不可取的? -
不,感谢您指出这一点。
-
[[[1]]]怎么样?可以有不止一层嵌套吗? -
查看a demo on regex101.com 了解
PCRE引擎。 -
@WiktorStribiżew,您的解决方案非常出色。我基本上是在尝试做 JSON.parse 所做的事情,所以你给了我一个很好的起点。
标签: javascript regex