Java PatternSyntaxException在尝试按}拆分时{
我正在尝试分解通过站点上的API获得的数组,Java将其检索为Java PatternSyntaxException在尝试按}拆分时{,java,regex,exception,escaping,split,Java,Regex,Exception,Escaping,Split,我正在尝试分解通过站点上的API获得的数组,Java将其检索为字符串 String[] ex = exampleString.split("},{"); 抛出了一个PatternSyntaxException。出于某种原因,它确实不喜欢},{。 我曾试图以\{的身份逃逸,但它说这是非法逃逸 什么是逃逸这个字符串的正确方法 出于某种原因,它真的不喜欢},{ 这是因为大括号(}和{)是Java正则表达式中的特殊字符。如果您试图在不转义的情况下按字面意思使用它们,则会被视为语法错误,因此会出现异常
字符串
String[] ex = exampleString.split("},{");
抛出了一个PatternSyntaxException
。出于某种原因,它确实不喜欢},{
。
我曾试图以\{
的身份逃逸,但它说这是非法逃逸
什么是逃逸这个字符串的正确方法
出于某种原因,它真的不喜欢},{
这是因为大括号(}
和{
)是Java正则表达式中的特殊字符。如果您试图在不转义的情况下按字面意思使用它们,则会被视为语法错误,因此会出现异常
什么是逃逸这个字符串的正确方法
通过将反斜杠加倍来对其进行转义。这是用于Java字符串转义的。转义的反斜杠随后将对正则表达式的大括号进行转义
String[] ex = exampleString.split("\\},\\{");
出于某种原因,它真的不喜欢},{
这是因为大括号(}
和{
)是Java正则表达式中的特殊字符。如果您试图在不转义的情况下按字面意思使用它们,则会被视为语法错误,因此会出现异常
什么是逃逸这个字符串的正确方法
通过将反斜杠加倍来对其进行转义。这是用于Java字符串转义的。转义的反斜杠随后将对正则表达式的大括号进行转义
String[] ex = exampleString.split("\\},\\{");