如何在正则表达式中转义“[]”字符

How to escape "[]" chars in regular expressions

我有一个流,它有以下表达式:

.map(l -> l.replaceAll("[,.!?:;]", "")

如您所见,我想获取一个字符串,如果该字符串包含值之一,.!?:;我想删除它们。

我也想去掉这两个符号:[ ]

当我在序列中添加它时:

.map(l -> l.replaceAll("[,.!?[]:;]", "")

思路报错,字符未闭合class。如何将这两个符号也包含在序列中?

您使用 \ 转义特殊字符。请注意 \ 本身就是一个特殊字符。所以像

.map(l -> l.replaceAll("[,.!?\[\]:;]", "")