String str = "1\n2 ";
System.out.println(str.replaceAll( "\n ", "-- "));
System.out.println(str.replaceAll( "\\n ", "-- "));
System.out.println(str.replaceAll( "\\\n ", "-- "));
上面3个语句都能替换掉 "\n ",前2个我还能想的通,就第三个我怎么也想不通,如果说 "\\\n ",到正则表达式为 "\\n ",那么 "\\\\n "的正则表达式,启不不是和 "\\\n "一样,还请各位DX解释下下,谢谢了
------解决方案--------------------
Pattern p = Pattern.compile( "\\\ne ");
System.out.println( "pattern: "+p.pattern());
输出: pattern: \
e
而 1\n2表示的是 1 回车 2
难道是bug?
------解决方案--------------------
可能是因为 '\\ '匹配 '\ ',然后又是 '\\ '匹配 '\ ',最后剩下 '\n ',个人意见!