7

我正在尝试编写一个匹配\或匹配的正则表达式/

不管我按什么顺序写:

[//\]

或者

[/\\]

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

4

1 回答 1

10

是的,您正在转义第二个正则表达式中的右括号,而第一个甚至不会编译为字符串。你要

"[/\\\\]"

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

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

于 2013-04-23T22:38:05.527 回答