Java正则表达式中的反斜杠"\\\\"

    今天写代码时,针对字符串\ontologyFiles\12d3\leaf2.jpg,想用\去分解他们,却报了错误:java.util.regex.PatternSyntaxException:Unexpected internal error near index 1
\

Java正则表达式中的反斜杠"\\\\"_第1张图片

 我当时就纳闷了难道“\\”不是表示\吗?于是写

System.out.println("\\");

发现控制台输出的是\。说明Java中的确是"\\"表示\

后来看到百度有人说要用“\\\\”。将“\\”换成“\\\\”后,程序输出正确的结果。

百思不得其解。后来看到一篇博客写到:在regex中"\\"表示一个"\",在java中一个"\"也要用"\\"表示。这样,前一个"\\"代表regex中的"\",后一个"\\"代表java中的"\"。

你可能感兴趣的:(java,正则,反斜杠)