以逗号分割,但是不包含括号内的逗号的正则表达式

首先正则表达式是:

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

stackoverflow.com/questions/628583/regular-expression-to-split-on-commas-
not-enclosed-in-parenthesis

接下来我们来显示解释:

,表示匹配逗号

*[^()] 表示除过左括号和右括号的所有字符重复零次或多次; **

*![^()]+\) 表示 除过左括号和右括号的所有字符重复零次或多次 ,然后最后一个字符是右括号 1)
**

如下图:

**,(?![^()]*+\)) 表示逗号之后不能是 1)pattern所匹配的字符串。

**如下图,我们用它类分割1,23,test,(1,2,3):

**


**注意,这个正则表达式不支持括号的嵌套