java.util.regex.PatternSyntaxException: Syntax error in regexp pattern near index 10 \{([^}]*)}

在Android中若正则表达式如下:

Pattern p = Pattern.compile("\\{([^}]*)}");

运行时则会崩溃,崩溃信息如标题:

 Caused by: java.util.regex.PatternSyntaxException: Syntax error in regexp pattern near index 10  \{([^}]*)}

解决方案为则是将最后的 } 修改成加上转义符后的 \\},将上面的代码修改如下即可:

Pattern p = Pattern.compile("\\{([^}]*)\\}");

在java里不加转义符是完全行的通的,但上加上转义符居然有警告提示,

Redundant character escape '\\}' in RegExp less... (Ctrl+F1)

必须忽视这个错误的警告信息!!!

你可能感兴趣的:(android开发问题)