首页 > 解决方案 > 检查字符串中存在的点(。)而不将其视为正则表达式

问题描述

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

        System.out.println(domain.matches(".*gmail.com(.*)"));

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

标签: javastringmethods

解决方案


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

System.out.println(domain.contains("gmail.com"));

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

domain.matches(".*gmail\\.com(.*)")

推荐阅读