Java正则从一段字符串中取email地址

来源:互联网 发布:反演变换知乎 编辑:程序博客网 时间:2024/05/21 17:47
public static void ParseEmail(String line) {        String regex = "\\w+@\\w+\\.(com\\.cn)|\\w+@\\w+\\.(com|cn)";        /*         * \w代表[a-zA-z0-9_],之所以写成\\w是因为\有转义的意思,所以要输出 \必须得写成\\ + 代表可以有一次或者多次         * \\.就代表着.,因为.在正则表达式中代表一个任意的字符,所以要想写出.来就得要用到转义字符\ 要输出\就得要写成\\         * ()代表着一个组合,例如(com)会去匹配含有com的字符串,而com会去匹配含有c或者o或者m 的字符串 | 代表这或         * 注意:按照正则表达式去匹配的时候是有优先级的,从左至右,()也可以看做是一 优先级的控制,\\w+@\\w+\\.(com|cn)+         * 改为\\w+@\\w+\\.com|cn+程序会以为\\w+@\\w+\\.com或者cn         * 这样当对sadfsd@sdfsd.cn匹配时下面的程序会输出cn,而我们的初衷是让com与cn或         */        // String regex = "[a-zA-Z0-9_]+[@][a-zA-Z0-9]+([\\.com]|[\\.cn])";        Pattern pattern = Pattern.compile(regex);        String context = "checkhere1@hotmail.com   ;checkhere2@hotmail.com;sdfkfj@sfsdf65656.com.cn "                + ";jfkdjgkjhgk@jdfjkg.cn.cn ;sadfsd@sdfsd.cn";        Matcher matcher = pattern.matcher(context);        while (matcher.find()) {            System.out.println(matcher.group());        }    }
原创粉丝点击