普通字符串中使用
Java中的\一般用在字符串中,在字符串中其不能单独存在,后面一定要跟个东西。以表示转义,也就是这个东西的另一种意义。 比如在Java中,n在字符串中就是n本身的意思,\n就表示换行;“用于表示字符串,\"表示引号本身。(这两个正好反过来了)  Java看见\号了,后面没东西——不行 
Java看见\号了,后面就转义,还是一个\,那就表示想要\本身了。
正则表达式中使用
正则也是写在一个字符串中的,首先当然要遵循Java字符串的语法。别的语言用\表示一些通用的情况,比如\d表示数字。 但是Java不行啊:
- 它不像
\n,没有\d这么一说 - 它不像
",有特殊的含义,d就是字符d 
所以Java中\d首先就不符合字符串的语法,那还谈什么正则表达式,因为正则表达也就是一个字符串,用来匹配罢了。别的语言中\就是\本身,而Java想表示\本身只能先转义。所以别的语言中的\d,在Java中是\\d。 Java看见第一个\,好的后面我给你转义,\\就转成了\,\\d也就成了\d。发现后面是d,那就是正则了。 
再看这个\\\\。 Java看见第一个\,好,后面我给你转义,\\转成了\,后面还有个\,好,我还给你转义,后面\\变成了\。那不就是别的语言中的\\吗?  Java中除非\自己是被转义的那个,否则后面一定要跟个东西,表示把这东西转义,这东西也要能被转义才行。
|