如何在Java中模式匹配[和]?

时间:2015-06-15 20:59:00

标签: java regex

该字符串的格式为:

(string).replaceAll("(^[)|(]$)","");

(string).replaceAll("(^\[)|(\]$)","");

用两个空格隔开任何东西。

我试过了:

{{1}}

但后者给我一个编译错误,第一个没有做任何事情。我基于以下方式实现了当前的解决方案:

Java Regex to remove start/end single quotes but leave inside quotes

环顾SO会产生很多问题,可以回答与我类似的问题但是实现他们的解决方案不起作用(他们要么什么也不做,否则会产生编译错误):

regex - match brackets but exclude them from results

Regular Expressions on Punctuation

我做错了什么?

1 个答案:

答案 0 :(得分:1)

由于Java和regex都将\字符视为转义字符,因此在Java文字字符串中使用时实际上必须将它们加倍。 所以正则表达式:

(^\[)|(\]$)
实际上,Java字符串中的

应该是:

"(^\\[)|(\\]$)"