Почему регулярное выражение "\\ [\\]" избыточно в Java? - PullRequest
2 голосов

Я хочу соответствовать только скобке [], в моем коде:

// #peekToken() -> String
do { ... } while (context.peekToken().matches("\\[\\]"));

Интеллидж говорит:

Intellij says about brackets

и авто-исправление превращает его в:

"\\[]"

Почему они одинаковые?

1 Ответ

1 голос
/ 31 мая 2019

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

Вы можете прочитать документацию для получения дополнительной информации оконтексты, в которых символы воспринимаются как регулярные выражения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...