在java里面反斜杆是转义的意思,在正则表达式里面反斜杆也是转义的意思。java里面2个反斜杆,实际输出的是一个反斜杆。你那个正则表达式实际的验证规则是 \[(.*)\] ".*"。由于[]中括号是正则表达式里面的关键字,所以要转义。所以你最终匹配的样式是[(.*)] ".*"这个样子的。
正则(语言无关)中括号是特殊字符(代表字符范围),需要转义所有特殊字符是:* . ? + $ ^ [ ] ( ) { } | \ /引号是普通字符,所以不需要转义