正则表达式为啥有时候用\\d有时候用\d,这里的双\和单\有什么区别呢?

如题,想学正则表达式,但是网上的资料一会儿用\\d之类的双反斜杠,一会儿用\d之类的单反斜杠,实在不知道是为什么,招了很长时间找不到答案。
我学的是java,但是书上对正则表达式一带而过,甚至连matcher和pattern类的方法是干什么的都没说。。。
书上匹配单个中文字符用的是 [\\u4e00-\\u9fa5],但是我在网上找到的却是 [\u4e00-\u9fa5],不知道有什么不同?是因为用的编程语言不一样吗?

第1个回答  2015-12-06

不同语言有差,不同写法也有差


详见附件即可

追问

先谢谢你的解答,我想问一下,你的资料上用的[\u4e00-\u9fa5]的形式匹配字符,那我的书是不是错了,我用的是《疯狂Java讲义》,上面用[\\u0041-\\u0056]的形式匹配字符。或者说两种写法都是正确的Java写法,那应该用哪种写法更好一些呢?

追答

我刚试了下,都可以

我觉得你不需要去纠结这些没有什么用的问题,我要是你,就写的去,练多了,自然就懂了

本回答被提问者和网友采纳