麻烦转义String.matches()方法中的句点

use*_*797 2 java regex escaping period

当我在String类的matches()方法中使用这个正则表达式时,我收到了编译错误.谁知道我在做错了什么?谢谢

String email = "this@that.com";
System.out.println(email.matches("^(.+@.+\.\\w{2,4})$"));
Run Code Online (Sandbox Code Playgroud)

Per*_*ror 11

.具有两个反斜杠的转义期\\.有效的转义序列在java中是有效的 \b \t \n \f \r \" \' \\

System.out.println(email.matches("^(.+@.+\\.\\w{2,4})$"));
Run Code Online (Sandbox Code Playgroud)

要么:

将它包含在内\\Q和中\\E

\\Q.\\E
Run Code Online (Sandbox Code Playgroud)