Java在逗号(,)上分割字符串,但在括号()之间时除外

我想在逗号(,)上的java中拆分字符串,但是只要逗号(,)位于某些括号之间,就不应拆分。

例如字符串:

"life, would, (last , if ), all"

应该产生:

-life

-would

-(last , if )

-all

当我使用时:

String text = "life, would, (last , if ), all"

text.split(",");

我最终将整个文本划分为(last,if),我可以看到split需要一个正则表达式,但是我似乎想不出如何使它完成工作。

回答:

您可以使用此模式-(不适用于嵌套括号)

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

演示版

,               # ","

(?! # Negative Look-Ahead

[^()] # Character not in [()] Character Class

* # (zero or more)(greedy)

\ #

) # End of Negative Look-Ahead

)

以上是 Java在逗号(,)上分割字符串,但在括号()之间时除外 的全部内容, 来源链接: utcz.com/qa/412314.html

回到顶部