如何使用正则表达式基于模式拆分字符串

pra*_*nth 3 java regex

我无法根据正则表达式拆分字符串.

String str = "1=(1-2,3-4),2=2,3=3,4=4";
Pattern commaPattern = Pattern.compile("\\([0-9-]+,[0-9-]+\\)|(,)") ;
String[] arr = commaPattern.split(str);
for (String s : arr)
{
    System.out.println(s);
}
Run Code Online (Sandbox Code Playgroud)

预期产出,

1=(1-2,3-4)     
2=2    
3=3    
4=4
Run Code Online (Sandbox Code Playgroud)

实际产量,

1=

2=2
3=3
4=4
Run Code Online (Sandbox Code Playgroud)

Ani*_*dha 5

这个正则表达式将根据需要 拆分

,(?![^()]*\\))
  ------------
      |->split with , only if it is not within ()
Run Code Online (Sandbox Code Playgroud)