在 Java 正则表达式中向字符 class 添加方括号
Adding square brackets to character class in Java regex
我想逐行从文件中读取内容String
,并在每一行中删除所有不属于以下内容之一的字符[ { } ]
我想用一个方法:
line = line.replaceAll("[^[({})]]","");
但问题是 char [
和 ]
在正则表达式语法中意味着其他东西。
如何处理?
此致
在Java中,正则表达式字符类可以有并集和交集,因此,如果要处理[
和]
,必须在内部进行转义作为文字符号。由于 \
可用于定义转义序列,因此应加倍表示文字 regex-escaping \
.
使用
line = line.replaceAll("[^\[({})\]]","");
^^ ^^
我想逐行从文件中读取内容String
,并在每一行中删除所有不属于以下内容之一的字符[ { } ]
我想用一个方法:
line = line.replaceAll("[^[({})]]","");
但问题是 char [
和 ]
在正则表达式语法中意味着其他东西。
如何处理?
此致
在Java中,正则表达式字符类可以有并集和交集,因此,如果要处理[
和]
,必须在内部进行转义作为文字符号。由于 \
可用于定义转义序列,因此应加倍表示文字 regex-escaping \
.
使用
line = line.replaceAll("[^\[({})\]]","");
^^ ^^