正则匹配[]外部的内容

背景

客户要求将以下字符串转为数组:

"砷、苯、苯并[a]芘、二苯并[a、h]蒽、五氯苯酚、" ==> [砷, 苯, 苯并[a]芘, 二苯并[a、h]蒽, 五氯苯酚]

正文

刚开始通过匹配、,后来发现有问题,因为[]内的、不能拆解,就被难倒了,网上也没查到。最后求助余大佬解决,发出来以作学习

var reg = /([^、[]+([[^d]+?]){0,1}([^、])?)/ig

案例

var abc = "砷、苯、苯并[a]芘、二苯并[a、h]蒽、五氯苯酚、";
var reg = /([^、[]+([[^d]+?]){0,1}([^、])?)/ig
abc.match(reg);
// ["砷", "苯", "苯并[a]芘", "二苯并[a、h]蒽", "五氯苯酚"]
原文地址:https://www.cnblogs.com/xihailong/p/14628352.html