Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java PatternSyntaxException在尝试按}拆分时{_Java_Regex_Exception_Escaping_Split - Fatal编程技术网

Java PatternSyntaxException在尝试按}拆分时{

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

我正在尝试分解通过站点上的API获得的数组,Java将其检索为
字符串

String[] ex = exampleString.split("},{");
抛出了一个
PatternSyntaxException
。出于某种原因,它确实不喜欢
},{
。 我曾试图以
\{
的身份逃逸,但它说这是非法逃逸

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

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

这是因为大括号(
}
{
)是Java正则表达式中的特殊字符。如果您试图在不转义的情况下按字面意思使用它们,则会被视为语法错误,因此会出现异常

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

通过将反斜杠加倍来对其进行转义。这是用于Java字符串转义的。转义的反斜杠随后将对正则表达式的大括号进行转义

String[] ex = exampleString.split("\\},\\{");
出于某种原因,它真的不喜欢},{

这是因为大括号(
}
{
)是Java正则表达式中的特殊字符。如果您试图在不转义的情况下按字面意思使用它们,则会被视为语法错误,因此会出现异常

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

通过将反斜杠加倍来对其进行转义。这是用于Java字符串转义的。转义的反斜杠随后将对正则表达式的大括号进行转义

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