在 Java 正则表达式中向字符 class 添加方括号

Adding square brackets to character class in Java regex

我想逐行从文件中读取内容String,并在每一行中删除所有不属于以下内容之一的字符[ { } ] 我想用一个方法:

line = line.replaceAll("[^[({})]]","");

但问题是 char [] 在正则表达式语法中意味着其他东西。 如何处理?

此致

在Java中,正则表达式字符类可以有并集和交集,因此,如果要处理[],必须在内部进行转义作为文字符号。由于 \ 可用于定义转义序列,因此应加倍表示文字 regex-escaping \.

使用

line = line.replaceAll("[^\[({})\]]","");
                          ^^     ^^