IDEA 编译报错 Dangling metacharacter
原因说明
一般 IDEA 检测到了有需要转义的字符但是没有进行转义会抛出这编译异常
例如:
使用正则表达式匹配一个字符串, 代码如下
public static void main(String[] args) throws Exception {
String str = "{aa: 'abc', bb: 22, cc: 'abc123', type: 'Array'}";
// 在这一行中 matches 方法的参数是一个正则表达式, 这里就会抛出 Dangling metacharacter 的异常
// 因为花括号在正则表达式中有特殊的含义, 所以需要进行转义, 而且要使用双斜杠 \\ 进行转义
boolean matches = str.matches("{.*:.*}");
// 上面这个代码的正确写法是
boolean matches = str.matches("\\{.*:.*\\}");
System.err.println(matches);
}
浙公网安备 33010602011771号