Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:解析字符串&;检查“是否存在”@&引用;_Java - Fatal编程技术网

Java:解析字符串&;检查“是否存在”@&引用;

Java:解析字符串&;检查“是否存在”@&引用;,java,Java,如何使用Pattern.compile检查字符串是否包含“@”。类似这样的东西->> Pattern pattern = Pattern.compile("^[\\w\\.-]*@[\\.\\w-]*$"); Matcher matcher = pattern.matcher(string); return matcher.matches(); 如果只需要检查它是否包含@,那么只需使用“@”的正则表达式即可: Pattern pattern = Pattern.comp

如何使用Pattern.compile检查字符串是否包含“@”。类似这样的东西->>

    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:just
return String.indexof('@')!=-1;
返回字符串。包含(“@”)