您的位置:首页 > 编程语言 > Java开发

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

2016-01-25 23:32 483 查看
String a = "1991\12\16";
String[] split = a.split("\\");
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方法中的参数都是正则表达式,如果是\的话都需要写\\\\
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: