我的示例字符串:a+[b*a+c]+c+[ab+c]
并由'+'分割
拆分后:
a
[b*a+c]
c
[ab+c]
我可以通过将\+(?![^()]*\))
作为正则表达式使用到input.split(regex)
中来对圆括号执行此操作。但无法计算方括号。我感谢的任何帮助
除了放在右括号]
之前的那些,需要负前瞻来匹配+
String str = "a+[b*a+c]+c+[ab+c]";
String[] arr = str.split("\+(?![^\[]*\])");
Arrays.stream(arr)
.forEach(System.out::println);
输出
a
[b*a+c]
c
[ab+c]