Java:解析字符串&;检查“是否存在”@&引用;
如何使用Pattern.compile检查字符串是否包含“@”。类似这样的东西->>Java:解析字符串&;检查“是否存在”@&引用;,java,Java,如何使用Pattern.compile检查字符串是否包含“@”。类似这样的东西->> Pattern pattern = Pattern.compile("^[\\w\\.-]*@[\\.\\w-]*$"); Matcher matcher = pattern.matcher(string); return matcher.matches(); 如果只需要检查它是否包含@,那么只需使用“@”的正则表达式即可: Pattern pattern = Pattern.comp
Pattern pattern = Pattern.compile("^[\\w\\.-]*@[\\.\\w-]*$");
Matcher matcher = pattern.matcher(string);
return matcher.matches();
如果只需要检查它是否包含@,那么只需使用“@”的正则表达式即可:
Pattern pattern = Pattern.compile("@");
Matcher matcher = pattern.matcher(string);
return matcher.find();
(请注意,matches
将查看整个输入是否与模式匹配,而find
将只查看输入中是否存在模式,这正是您需要的。)
有什么理由不直接使用
x.indexOf('@')!=-1
或x.contains(“@”)
尽管如此?是否需要使用模式
return string.contains("@");
如果您确实想使用模式,另一种解决方案是:
return string.matches("^[\\w\\.-]*@[\\.\\w-]*$");
那不行吗?(我会把
*
改为+
,因为@
两边一定有东西)没有特别的原因。您能告诉我如何使用String.indexof进行同样的操作吗?@spunkerbaa:justreturn String.indexof('@')!=-1;
或返回字符串。包含(“@”)代码>