0

我想为使用特殊字符[].

值为"[action]"

我使用的表达式是"[\\[[\\x00-\\x7F]+\\]]".

我尝试通过添加\\before[和来做到这一点]

但它不起作用。

谁能帮我这个。

4

3 回答 3

3

您可能想要删除括号“[]”。在正则表达式中,它们意味着选择一个封闭的字符

于 2009-11-15T00:17:46.557 回答
1

左括号和右括号前的两个反斜杠:\\[\\]

双反斜杠计算字符串中的单个反斜杠。单个反斜杠转义括号,以便它们不会被解释为围绕字符类。

声明字符类的括号没有反斜杠:([a-z]您可以选择任何您喜欢的范围,而不仅仅是 a 到 z)

Kleene 星号运算符匹配范围内的任意数量的字符。

public class Regexp {
    public static void main(final String... args) {
        System.out.println("[action]".matches("\\[[a-z]*\\]"));
    }
}

在我的系统上:

$ javac Regexp.java && java Regexp
true
于 2009-11-15T00:19:40.500 回答
0

只需在方括号前加上一个反斜杠即可。

两个反斜杠会自行转义,因此正则表达式引擎会看到\[,其中[是特殊字符。

于 2009-11-15T00:17:24.187 回答