我想分割以下字符串:
"VALUE:VALUE,VALUE:[VALUE1,VALUE2,VALUE3],VALUE:VALUE"
到
"VALUE:VALUE"
"VALUE:[VALUE1,VALUE2,VALUE3]"
"VALUE:VALUE"
我期待:
String[] elements = text.split("(?<!\\[),|,(?!\\])");
让我分开,因为我认为这意味着如果它之前或之后有一个括号,它就不会匹配逗号,但这会返回:
"VALUE:VALUE"
"VALUE:[VALUE1"
"VALUE2"
"VALUE3]"
"VALUE:VALUE"
任何想法如何做到这一点?
答案 0 :(得分:2)
如果您没有嵌套的可能性,请尝试使用此正则表达式:
String[] elements = text.split(",(?![^\\[]*\\])");
这与逗号之间没有]
后面没有任何[
的逗号匹配。