【发布时间】:2020-12-24 02:16:38
【问题描述】:
我在js中有一堆类似这样的字符串:
params[0][header][name[0]]
我需要将它们分成这样的列表:
["params", "0", "header", "name[0]"]
在找到嵌套括号之前,这很容易解决。 到目前为止,我想出的最好的就是这个正则表达式:
'params[0][header][name[0]]'.match(/([^\[]+)|\[(.+?\]?)\]/g)
返回:
["params", "[0]", "[header]", "[name[0]]"]
我可以使用,但我需要一个额外的步骤来删除不需要的括号。
我的问题是,是否有一个正则表达式可以应用于字符串并返回一个没有 extra 括号的列表?
我在 stackoverflow 和谷歌上都找不到任何解决方案。任何帮助表示赞赏。
【问题讨论】:
-
正则表达式无法自行处理递归。
-
我知道。我的问题是我是否可以在字符串(不是列表)上应用正则表达式并获得不带括号的列表。
标签: javascript regex