编译可以通过,执行一致出错,错误如下:
Exception in thread "main" java.util.regex.PatternSyntaxException:Unexcepted inernal error near index 1
请乱弹~~~

解决方案 »

  1.   

    System.out.println("1\\234\\567.1".replaceAll("\\\\","/"));
      

  2.   

    应该先转义!
    path.replaceAll("\\\\","\");如果你用过其它语言的正则表达式,那么你一眼就能看出反斜杠的与众不同。在其它语言里,"\\"的意思是"我只是要在正则表达式里插入一个反斜杠。没什么特别的意思。"但是在Java里,"\\"的意思是"我要插入一个正则表达式的反斜杠,所以跟在它后面的那个字符的意思就变了。"举例来说,如果你想表示一个或更多的"单词字符",那么这个正则表达式就应该是"\\w+"。如果你要插入一个反斜杠,那就得用"\\\\"。不过像换行,跳格之类的还是只用一根反斜杠:"\n\t"。