检查字符串中存在的 dot(.) 而不将其视为正则表达式

Som*_*ice 0 java string methods

我是java新手。我目前正在练习字符串方法。我想检查电子邮件是否包含“gmail.com”。这是我想出的代码

        System.out.println(domain.matches(".*gmail.com(.*)"));
Run Code Online (Sandbox Code Playgroud)

但是点(。)在这里表示任何字符,因此即使我将字符串作为“xyz@gmailpcom”传递,它也会返回true。基本上我想检查字符串中的 dot(.) 而不将其视为正则表达式。

Jon*_*eet 5

如果您只想检查它是否包含gmail.com,则只需使用contains

System.out.println(domain.contains("gmail.com"));
Run Code Online (Sandbox Code Playgroud)

如果在稍后阶段您想使用正则表达式但转义点,请在正则表达式中使用反斜杠执行此操作,需要再次转义以在 Java 字符串文字中使用:

domain.matches(".*gmail\\.com(.*)")
Run Code Online (Sandbox Code Playgroud)