可能这个问题对于初学者来说比较头疼,但是只要别人一点可能就明白了。
JAVA中匹配反斜杠的正则表达式的书写方式为:
1String regex="\\\\"注意了,一定要写四个反斜杠,第一和第三个反斜杠是用作java字符串的转义,实际上只代表两个反斜杠。
其实只要输入如下代码运行验证一下即可:
System.out.print("\\\\")//输出为 \\在Java中反斜杠是转义符,所以要让它表示本意,需要转义符(就是另一个反斜杠)进行转义,所以就需要两个反斜杠来表示反斜杠.这样在用java正则表达式匹配时,就需要用四个反斜杠(两个是转义符,两个是反斜杠)来匹配两个反斜杠String regex="\\\\"
在java里面反斜杆是转义的意思,在正则表达式里面反斜杆也是转义的意思。java里面2个反斜杆,实际输出的是一个反斜杆。你那个正则表达式实际的验证规则是 \[(.*)\] ".*"。由于[]中括号是正则表达式里面的关键字,所以要转义。所以你最终匹配的样式是[(.*)] ".*"这个样子的。