老师,java正则匹配中的两个反斜杠"\\"和一个反斜杠"\"的区别可不可以详细说一下

老师,java正则匹配中的两个反斜杠"\\"和一个反斜杠"\"的区别可不可以详细说一下

如图,对反斜杠这点不是很理解

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,1. 正常情况下\d表示数字,而在正则中\d中的\表示转义,所以需要在\d前添加一个斜杠(\)将\d中的斜杠(\)进行转义,使其可以将\d正常解析数字。

2. 也就是说\\d中的第一个斜杠(\)是转义字符,将第二个斜杠(\)进行转义。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

好帮手慕阿莹 2020-07-06 18:38:26

同学你好,因为\在正则表达式中用来转译一些特殊字符

它用来转译,比如 

点儿 . 在正则表达式中有特殊含义

 .  的含义是匹配除换行符 \n 之外的任何单字符

但如果我们就是想写这个  .  怎么办呢?可以用\来转译一下。 \.  就表示的是.

同理 \被正则表达式用来最转译了,那么我们需要\ 的时候怎么办呢? 就用\来转译一下,于是\\ 就表示\

而如果单个斜杠,就是转译后边的字符。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 mahsiaoko #1
    老师,表示转义我理解,但是Java的正则表达式中,使用\\d表示\d这个不太理解,能不能详细解释一下,还有,我看网上说在Java正则表达式中使用\\\\代表一个普通的反斜杠,
    2020-07-06 18:58:14
  • 好帮手慕阿莹 回复 提问者 mahsiaoko #2
    同学你好,因为\d在正则表达式中也是有特殊含义的,所以\d前边的\也需要\来转译一下 所以就成了\\d,同理 \\\\ 对应的是\\ 如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
    2020-07-06 19:24:23
  • 提问者 mahsiaoko 回复 好帮手慕阿莹 #3
    因为\d中的\表示转义,所以使用\\d使\d中的反斜杠表示单纯的反斜杠吗?\d中的\表示的是什么意思?我看菜鸟教程上说“在 Java 中正则表达式中则需要有两个反斜杠才能被解析为转义作用”,这个和老师你说的好像不太一样?我现在有点迷糊了
    2020-07-06 20:29:56
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师