java正则表达式双反斜线

(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表示为\\\\ 前两个\对应第一个\后两个\对应第二个\

不知道理解的对不对

posted @ 2020-11-03 16:18  fjlruo  阅读(743)  评论(2编辑  收藏  举报