为什么正则表达式“ \\ [\\]”在Java中是多余的?

时间:2019-05-31 04:36:27

标签: java regex intellij-idea

在我的代码中,我只想匹配括号[]

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

intellij说:

Intellij says about brackets

并且自动修复功能使其成为:

"\\[]"

为什么相同?

1 个答案:

答案 0 :(得分:1)

这是因为除非之前在括号]中打开了括号,否则字符“ {}” [不是正则表达式。因此,\\]是多余的,因为Java很聪明,足以知道我们在这种情况下正在寻找字符本身。

您可以阅读documentation,以获得有关将字符视为正则表达式的上下文的更多信息。