一、异常信息:
Exception in thread "main" java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
\
^
at java.util.regex.Pattern.error(Pattern.java:1955)
at java.util.regex.Pattern.compile(Pattern.java:1702)
at java.util.regex.Pattern.<init>(Pattern.java:1351)
at java.util.regex.Pattern.compile(Pattern.java:1028)
at java.lang.String.split(String.java:2380)
at java.lang.String.split(String.java:2422)
at gds.application.webgismonitoringsystem.warning.service.impl.Test.test1(Test.java:36)
at gds.application.webgismonitoringsystem.warning.service.impl.Test.main(Test.java:24)
二、出现异常信息的代码:
String[] filePaths = filePath.split(File.separator);
三、解决方案:
String[] filePaths = filePath.split(Matcher.quoteReplacement(File.separator));
四、原因分析:
'\'和''是正则中的关键字 , 如果正则字符中包含'\'或者''符号,会造成混淆。