javascript - 正则表达式用逗号分隔,但不在方括号中且不在方括号中

标签 javascript regex split

我有这个字符串

StudentInfo[id] as stu_id, StudentInfo[ssn] as stu_ssn, verylong.library.path.ScoreInfo[min_points, max_points] as sinfo, left_join((id),(customer_id)), reference.dilino[(greed,greed)], reference.dilino2[dilino], reference.dilino3[reference.dilino4[(kaktus,kaktus2)],reference.dilino5[(kaktus3,kaktus4)]], reference.dilino6[reference.dilino4[(kaktus,kaktus2),dilino]

我想分成这个

StudentInfo[id] as stu_id
StudentInfo[ssn] as stu_ssn
verylong.library.path.ScoreInfo[min_points, max_points] as sinfo
left_join((id),(customer_id))
reference.dilino[(greed,greed)]
reference.dilino2[dilino]
reference.dilino3[reference.dilino4[(kaktus,kaktus2)]
reference.dilino5[(kaktus3,kaktus4)]]
reference.dilino6[reference.dilino4[(kaktus,kaktus2),dilino]

我现在有了这个正则表达式

/,(?=[^\]]*(?:\[)|[^\)]*(?:\()|$)/gm 

但这不太好:(你能帮我吗?

最佳答案

(?![^)(]*\([^)(]*?\)\)),(?![^\[]*\])

试试这个。查看演示。

http://regex101.com/r/lS5tT3/8

关于javascript - 正则表达式用逗号分隔,但不在方括号中且不在方括号中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25988636/

相关文章:

javascript - 异步请求附加到 Angular 中的字符串

javascript - 如何在 vis.js 中动态过滤链接

javascript - jQuery 如果输入值为 1 并且输入被选中

c# - 为什么静态 RegEx 比实例 RegEx 慢?

使用 .split() 和 .include( 的 SQL 查询

javascript - backbone.js 添加自定义同步以产生加载效果

javascript - 匹配来自任何语言的字母

mysql - Regexp - 反向引用,将代码从 PHP 转换为 MySQL

javascript - 简单的 javascript search() 函数不起作用

javascript - 我需要一些 javascript 来只删除字符串上的前导和尾随空格,而不是任何其他字符之间的空格