我希望java的正则表达式替换“[”和“]”。编译器给出错误,因为[是正则表达式的语法。我该怎么办?
答案 0 :(得分:5)
您只需要转义特殊字符 - \[
和\]
。这也适用于所有特殊字符。
答案 1 :(得分:1)
反斜杠!对于任何具有特殊含义的字符,请在前面加上反斜杠以匹配文字字符。
Pattern = Pattern.compile("\\[\\]");
(注意因为它是java,你需要两个反斜杠来等同于一个反斜杠字符。)
答案 2 :(得分:1)
你可以这样做:
String s = ...
s = s.replaceAll("\\[|]", "");
或:
s = s.replaceAll("[[\\]]", "");
或非正则表达式替换(因此不需要转义):
s = s.replace("[", "").replace("]", "");
正则表达式的解释(前两个例子):
\\[|]
\\[ # match `[`
| # OR
] # match ']'
[[\\]]
[ # start character class
[ # match '[', or
\\] # match ']'
] # end character class
答案 3 :(得分:0)
通常你可以使用反斜杠转义特殊字符
\ [
或
\]