尝试按},{分割时出现PatternSyntaxException

时间:2011-05-08 06:08:08

标签: java regex exception escaping split

我正在尝试拆分我在网站上通过API获取的数组,Java已将其检索为String

String[] ex = exampleString.split("},{");

抛出PatternSyntaxException。出于某种原因,它真的不喜欢},{。 我试图将其作为\{进行转义,但它表示这是非法逃脱。

逃避这个字符串的正确方法是什么?

1 个答案:

答案 0 :(得分:16)

  

出于某种原因,它真的不喜欢},{。

这是因为大括号(}{)是Java正则表达式中的特殊字符。如果你试图在没有转义的情况下逐字地使用它们,那么它被认为是语法错误,因此是你的例外。

  

逃避此String的正确方法是什么?

通过加倍来逃避反斜杠。这适用于Java字符串转义。然后逃脱的反斜杠将逃脱正则表达式的大括号。

String[] ex = exampleString.split("\\},\\{");