使用正则表达式拆分复杂的字符串

Ste*_*fan 1 javascript regex

我如何使用正则表达式拆分此字符串:

string = "a[a=d b&c[e[100&2=34]]] e[cheese=blue and white] x[a=a b]"
Run Code Online (Sandbox Code Playgroud)

进入这个数组:

string.split( regexp ) =>

[ "a[a=d b&c[e[100&2=34]]]", "e[cheese=blue and white]", "x[a=a b]" ]
Run Code Online (Sandbox Code Playgroud)

的基本规则是,应当在被分割空白(\ S) ,除非空白内部存在括号([]) ;

Aar*_*lla 5

你不能; 正则表达式基于没有"堆栈"的状态机,因此您可以记住嵌套级别的数量.

但也许你可以使用一个技巧:尝试将字符串转换为有效的JSON字符串.然后,您可以使用eval()它将其解析为JavaScript对象.