1、 "D:\\我的文档\\视频\\方言\\粤语\\序言.rm"  为什么会匹配 ".+\\\\(.+)$" 
2、 改成 "D:\\\\我的文档\\\\视频\\\\方言\\\\粤语\\\\序言.rm"   也匹配 
3、 把上面的Pattern 改成 .+\\(.+)$ 报错:Unmatched closing ')' near index 5
.+\(.+)$大家帮帮我啊。。 java中 \\\\转义后是\\  那为什么1 成立呢?(这个匹配成功我不了解) 
2 中的字符串转义后应该是  D:\\我的文档\\....(这个匹配成功我了解) 
3 \\(会转义成( 吗?  可是System.out.print(".+\\(.+)$"); 结果:.+\(.+)$ 并没有转义啊?难道Pattern和普通字符串不同?

解决方案 »

  1.   

    ".+\\\\(.+)$"表示的是:"任意字符出现一次或多次 + \\ + 任意字符出现一次或多次结尾"1、对于字符串是不会把\\\\转义成\\的,也就是说你1里面肯定匹配
    2、这个之所以匹配,是因为D:\\\\我的文档\\\\视频\\\\方言\\\\粤语\\\\序言.rm,前面任意字符+红字部分+后面任意字符
    3、字符串是用"\"来转义的"\\("其实表示的是"\("