我只想匹配我代码中的方括号[]
:
// #peekToken() -> String
do { ... } while (context.peekToken().matches("\\[\\]"));
intellij 说:
自动修复使其变成:
"\\[]"
为什么它们是一样的?
最佳答案
这是因为字符“闭括号”]
不是正则表达式,除非之前有一个括号打开[
。因此,对 \\]
进行转义是多余的,因为 Java 足够聪明,知道在这种情况下我们正在搜索字符本身。
您可以阅读 documentation有关字符被视为正则表达式的上下文的更多信息。
关于java - 为什么正则表达式 "\\[\\]"在 Java 中是多余的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56388725/