关于正则表达式的"("引起的错误

   最近在维护一个项目,看到一个错误感觉以前是没有见过的。错误信息如下:      java.util.regex.PatternSyntaxException: Unclosed group near index 12
看了代码,原来是因为replaceAll(str1str2)报的错误。

看以下代码:
String ss = "asdfasdfdf/12z(修订过).doc";
String fileName = "12z(修订过).doc";
//下面就会报错
System.out.println(ss.replaceAll("12z(修订过).doc", ""));


如果改为
System.out.println(ss.replaceAll("12z\\(修订过).doc", ""));
System.out.println(ss.replaceAll("12z[(]修订过).doc", ""));

这样都是不会报错的。

你可能感兴趣的:(java,正则表达式)