我正在尝试编写与\
或/
匹配的正则表达式。
无论我写的是什么顺序:
[//\]
或
[/\\]
它以某种方式逃避我的方括号或我的正斜杠。显示这种特殊情况的正确方法是什么?
答案 0 :(得分:10)
是的,你正在逃避第二个正则表达式中的结束括号,第一个正则表达式甚至不会编译为字符串。你想要
"[/\\\\]"
问题中的两个正则表达式都是正确的 plain 正则表达式。但是,由于在Java字符串文字中指定了正则表达式,因此要指定\
,需要将其转义\\
。因此,我们最终得到"[/\\\\]"
或"[\\\\/]"
。
总之,要在正则表达式中正确指定\
,我们必须将其\\
转义。要在Java字符串文字中正确指定\\
,我们必须添加另一层转义\\\\
。