(212) 555-1212对这种类型的字符串,普通正则表达式会写为:(\d{3})\s\d{3}-\d{4}
其中/d匹配0-9任意数字,{3}代表重复3次,\s匹配空格,()匹配括号,-匹配-
但在java中,java字符串中的\具有特殊含义,如果就按照普通正则表达式那么写所以会报错
所以用\\来代替普通字符串中的\\ 应该写为:\\(\\d{3}\\)\\s\\d{3}-\\d{4}
这里面因为()本身是特殊字符,所以前面也加上\\
可以这么理解:先写出普通正则表达式,然后把普通正则表达式中的\用\\替换,并在特殊字符前加上\\
这样的话,反斜杠字面量\在正则表达式中写法为\\
再用java表示为\\\\ 前两个\对应第一个\后两个\对应第二个\
不知道理解的对不对