java的标志_java正则标识式的\与\\区别

\和\\在java里真的是很难理解的逻辑,刚开始学习正则的时候一直不明白这哥俩有啥区别,听老师讲也是云里雾里的,下面写一点自己的感悟吧

java中\表示转义,因为java中有些特殊字符不可以直接表示,例如",',换行\r,\n等等之类,所以一个\加上你需要表示的那个特殊字符就可以代指这个特殊字符.

例如: \. 表示的就是字符"." 而不会变成字符"\."

而如果想表示一个正常的\该怎么表示呢,答案是将这个反斜杠也转义,套用上面公式就是\\

光会了这个小技巧并没有什么卵用,我们最终的目标是在正则里使用啊,而JAVA的正则语法里有些比如 \d 表示数字 \w表示字母,上面已经说了\\表示一个普通的\,而一个\则会将其后的特殊字符转义,显然d和w都不是特殊字符,所以用在这里会出错,正确的表示应该是\\d 和\\w

还是不理解?

这里可以吧 \d 或者\w 看做两个字符的组合,也就是说正则表达式的最终匹配形式必须是以这种\d 或\w的形式

,而java的一个反斜杠\d 或一个反斜杠\w 的形式会将其转义,但是d,w又不是特殊字符,所以编译不通过

\\d 和\\w 的形式 到正则表达式里会被转成 \d, \w 正好符合 正则表达式的语法,通过.

这里附上一个公式 : java字符串正则表达式--(将\\转义成\,将\和其后面字符转义)--> 正则语法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值