正则表达式替换“[”和“]”

时间:2011-04-11 08:51:12

标签: java regex

我希望java的正则表达式替换“[”和“]”。编译器给出错误,因为[是正则表达式的语法。我该怎么办?

4 个答案:

答案 0 :(得分:5)

您只需要转义特殊字符 - \[\]。这也适用于所有特殊字符。

答案 1 :(得分:1)

反斜杠!对于任何具有特殊含义的字符,请在前面加上反斜杠以匹配文字字符。

Pattern = Pattern.compile("\\[\\]"); 

(注意因为它是java,你需要两个反斜杠来等同于一个反斜杠字符。)

答案 2 :(得分:1)

你可以这样做:

String s = ...
s = s.replaceAll("\\[|]", "");

或:

s = s.replaceAll("[[\\]]", "");

或非正则表达式替换(因此不需要转义):

s = s.replace("[", "").replace("]", "");

正则表达式的解释(前两个例子):

1:\\[|]

\\[    # match `[`
|      # OR
]      # match ']'

2:[[\\]]

[      # start character class
  [    # match '[', or
  \\]  # match ']'
]      # end character class

答案 3 :(得分:0)

通常你可以使用反斜杠转义特殊字符

\ [

\]