gpt4 book ai didi

java - 如何拆分包含lookbehind和lookahead的正则表达式的字符串

转载 作者:行者123 更新时间:2023-11-30 03:59:23 25 4
gpt4 key购买 nike

我想分割以下字符串:

"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"

有什么想法可以做到这一点吗?

最佳答案

如果您没有任何嵌套的可能性,请尝试此正则表达式:

String[] elements = text.split(",(?![^\\[]*\\])");

这与后面没有 ] 且前面没有任何 [ 的逗号匹配。

ideone demo

关于java - 如何拆分包含lookbehind和lookahead的正则表达式的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22324498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com