在java中编写正则,先要被java虚拟机所识别为字符串,再传到虚拟机内置的正则解释引擎中。而在java虚拟机中,字符串中的“\”是把下一个字符转义的意思,如果写成“\.”这样的话,就是一个“.”的意思,但是如果虚拟机把一个“.”传给正则解释引擎的话,在正则解释引擎中,一个“.”就是任意字符的意思了。而写成“\\.”这样的话,虚拟机就会把第一个“\”解释为转义字符,把后面那个“\”转义为普通反斜杠,这样第二个“\”就不再具有转义的功能了,然后传到正则解释引擎时就是“\.”了,在正则中反斜杠和点的组合就会转义为普通点了........^_^ |