java中的反斜线

写程序遇到点问题,发现是不清楚java中反斜线的处理。在《java编程思想》中,java中的 \\ 表示“我要插入一个正则表达式的反斜线,所以其后的字符具有特殊的意义。”如果想插入一个普通的反斜线,那么应该使用 \\\\。感觉很费解啊。为什么是这样的,这四个反斜线中每个反斜线的含义是什么?

阅读 8.3k
1 个回答

蛋疼

普通反斜杠

我们使用的反斜杠,就是一个 \

文艺反斜杠

但是在java等编程语言中,我们需要使用转义:一个文艺反斜杠 \\ 表示一个普通反斜杠 \

二逼反斜杠

正则表达式中,反斜杠也需要转义,即 \\ 表示匹配一个 \,然后蛋疼的事儿就来了,当你在 java中写 \\ 时,其实正则表达式引擎只接受到了一个 \,所以,如果你想让正则表达式引擎接受两个反斜杠,那么这两个斜杠都得转义。

于是,正则表达式匹配一个 \ 是,应该写 \\

这时,第一个 \ 在 java 字符串中写为 \\

第二个 \ 在 java 字符串中写为 \\

于是,你就看到了java中无比蛋疼的 \\\\

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题