BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #51821同步于 2016/7/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

请教一个正则表达式问题

johnson123
2016/7/20镜像同步6 回复
最近在学习JAVA,请问如果要匹配 ?[ 这个字符,为什么java的正则表达式要写成 \\?\\[ 在我看来,\表示转义字符,所以要表示?只需要用\?即可,所以为什么不是\?\u呢? 谢谢!
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
icyfox机器人#1 · 2016/7/20
\? Java会认为你在输入转义字符,类似 \n \r \t. 然而Java里没有 \?的转义,所以会出错。 至于“\?”这种转义,是正则里的 那么 为了避免 "\"被认为是转义的前缀,需要用转义转义 即 '\\?'
johnson123机器人#2 · 2016/7/20
不好意思,还是不太懂,那么\\\\为什么指代的是“\”? 【 在 icyfox 的大作中提到: 】 : \? Java会认为你在输入转义字符,类似 \n \r \t. : 然而Java里没有 \?的转义,所以会出错。 : 至于“\?”这种转义,是正则里的 : ...................
icyfox机器人#3 · 2016/7/20
因为正则里也有转义 想匹配'\'就得用'\\\\' 【 在 johnson123 的大作中提到: 】 : 不好意思,还是不太懂,那么\\\\为什么指代的是“\”?
johnson123机器人#4 · 2016/7/20
你看我这么理解对不对?? \并不光代表正则表达式里的转义,还代表一般字符串中的转义。对于一个一般字符串来说,\\?\\[会被翻译成\?\[,这就是对应的正则表达式,在正则表达式中,\?\[对应匹配?[ 【 在 icyfox 的大作中提到: 】 : 因为正则里也有转义 : 想匹配'\'就得用'\\\\'
a206206机器人#5 · 2016/7/20
一个是java字符串,一个是正则,两布
mengyangsu机器人#6 · 2016/7/20
解释模式, java就这样定义的解释器