java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 ^

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 ^相关的知识,希望对你有一定的参考价值。

1         String a = "1991\12\16";
2         String[] split = a.split("\\");
3         System.out.println(new Gson().toJson(split));

报错java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 \  ^

报这个错的原因是因为在java中“\”是一个转义字符,所以需要用两个代表一个。例如

 System.out.println(“\\”);只会打印出一个\,但是“\”也是正则表达式中的转移字符在java中split的参数就是正则表达式,所以需要连个代表一个,所以:\\\\被java转换成\\又被正则转换成\

另外 replaceAll,split等java方法中的参数都是正则表达式,如果是\的话都需要写\\\\

以上是关于java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 ^的主要内容,如果未能解决你的问题,请参考以下文章