Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java正则表达式中向字符类添加方括号_Java_Regex_Character_Lines - Fatal编程技术网

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

在Java正则表达式中向字符类添加方括号,java,regex,character,lines,Java,Regex,Character,Lines,我想逐行读取文件lne中的内容字符串,并在每一行中删除所有不属于以下内容之一的字符[{}] 我想用一种方法: line = line.replaceAll("[^[({})]]",""); 但问题是char[和]在正则表达式语法中意味着其他东西。 如何处理 在Java中,正则表达式字符类可以有并集和交集,因此,如果希望将它们视为文字符号,则必须在内部转义[和]。由于\可用于定义转义序列,因此应将其加倍以表示文本正则表达式转义\ 使用 line = line.replaceAll("[^\\[(

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

line = line.replaceAll("[^[({})]]","");
但问题是char
[
]
在正则表达式语法中意味着其他东西。 如何处理


在Java中,正则表达式字符类可以有并集和交集,因此,如果希望将它们视为文字符号,则必须在内部转义
[
]
。由于
\
可用于定义转义序列,因此应将其加倍以表示文本正则表达式转义
\

使用

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