码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2016-12-09 19:28:48      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:参数   ted   字符   error   ;;   intern   string   cte   font   

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 \ ^

标签:参数   ted   字符   error   ;;   intern   string   cte   font   

原文地址:http://www.cnblogs.com/flandre/p/6150460.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!