java问题,正则表达式问题

定义一个方法,在一段文本中找出所有的邮箱地址,并返回一个字符数组

就是email的正则匹配方法,使用Matcher的matcher匹配到就输出。正则验证email的方法:

     public static boolean isEmail(String expression) {
        if (expression != null) {
            return expression
                    .matches("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");
        }
        return false;
    }

private boolean isValidEmail(String mail) {
Pattern pattern = Pattern
.compile("^[A-Za-z0-9][\w\._]*[a-zA-Z0-9]+@[A-Za-z0-9-_]+\.([A-Za-z]{2,4})");
Matcher mc = pattern.matcher(mail);
return mc.matches();
}