Это связано с тем, что символ "закрывающая скобка" ]
не является регулярным выражением, если только ранее не была открыта скобка [
.Поэтому излишне избегать его \\]
, поскольку Java достаточно умен, чтобы знать, что в этом случае мы ищем самого символа.
Вы можете прочитать документацию для получения дополнительной информации оконтексты, в которых символы воспринимаются как регулярные выражения.