写:[\ /](\或/正则表达式)正确吗?

时间:2013-04-23 22:36:36

标签: java regex

我正在尝试编写与\/匹配的正则表达式。

无论我写的是什么顺序:

[//\]

[/\\]

它以某种方式逃避我的方括号或我的正斜杠。显示这种特殊情况的正确方法是什么?

1 个答案:

答案 0 :(得分:10)

是的,你正在逃避第二个正则表达式中的结束括号,第一个正则表达式甚至不会编译为字符串。你想要

"[/\\\\]"

问题中的两个正则表达式都是正确的 plain 正则表达式。但是,由于在Java字符串文字中指定了正则表达式,因此要指定\,需要将其转义\\。因此,我们最终得到"[/\\\\]""[\\\\/]"

总之,要在正则表达式中正确指定\,我们必须将其\\转义。要在Java字符串文字中正确指定\\,我们必须添加另一层转义\\\\