Regex用逗号分隔,但不在方括号中,也不在括号中

Regex split with comma but not in Square Brackets and not in Brackets

本文关键字:方括号 分隔 Regex      更新时间:2023-09-26

我有这个字符串

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

您可以使用这样的正则表达式:,(?=['s'w](?!'w+[')']]))此处演示