如何使用Pattern.compile检查字符串是否包含“@”。像这样的东西 - >>
Pattern pattern = Pattern.compile("^[\\w\\.-]*@[\\.\\w-]*$");
Matcher matcher = pattern.matcher(string);
return matcher.matches();
答案 0 :(得分:5)
如果只需要检查它是否包含@,那么只需要“@”的正则表达式就可以了:
Pattern pattern = Pattern.compile("@");
Matcher matcher = pattern.matcher(string);
return matcher.find();
(请注意,matches
将查看整个输入是否与模式匹配,而find
只会查看模式是否存在输入,这是你需要的。)
有什么理由不使用x.indexOf('@') != -1
或x.contains("@")
?
答案 1 :(得分:2)
是否需要使用模式?
return string.contains("@");
答案 2 :(得分:0)
如果您绝对想要使用模式,则另一种解决方案是:
return string.matches("^[\\w\\.-]*@[\\.\\w-]*$");