读书人

用正则 提取 EMAIL 地址解决方案

发布时间: 2012-03-11 18:15:39 作者: rapoo

用正则 提取 EMAIL 地址
我现在需要在一个字符串 如下程序 提取出 各个email 地址, 但调了好久
不太懂, 请各位大虾帮忙一下
谢谢

Java code
String str1 = "address :is \"From\" \"dummy@dummyxyz.com\", address :is \"From\" \"emilychewpccw@gmail.com\"";        String regEx = ".\"From\"\\s\""; //这个需要各位大虾帮忙修改的地方        Pattern pattern = Pattern.compile(regEx);        Matcher mather = pattern.matcher(str1);        boolean flag = mather.matches();        while (mather.find()) {            // System.out.println( mather.group() );        }        String[] strs = str1.split(regEx);        for (String s : strs) {            System.out.println(s);                    }

我现在运行的效果:
address :is
dummy@dummyxyz.com", address :is
emilychewpccw@gmail.com"


目标结果是:
dummy@dummyxyz.com
emilychewpccw@gmail.com"

[解决办法]
Java code
        String str1 = "address :is \"From\" \"dummy@dummyxyz.com\", address :is \"From\" \"emilychewpccw@gmail.com\"";        String regEx = "[\\w]*@[\\w]*.com"; //这个需要各位大虾帮忙修改的地方                Pattern pattern = Pattern.compile(regEx);        Matcher mather = pattern.matcher(str1);        boolean flag = mather.matches();        while (mather.find()) {             System.out.println( mather.group() );        }//        String[] strs = str1.split(regEx);//        for (String s : strs) {//            System.out.println(s);            //        }
[解决办法]
用楼上的方法好些。如果按照楼主的思路来需要匹配的字符有
address :is \"From\" \"
\", address :is \"From\" \"
\"
很难匹配啊
[解决办法]
重复造轮子不如网上搜搜来的快
[解决办法]

String str1 = "address :is \"From\" \"dummy@dummyxyz.com\", address :is \"From\" \"emilychewpccw@gmail.com\"";

String regEx = "address :is \"From\""; //这个需要各位大虾帮忙修改的地方

Pattern pattern = Pattern.compile(regEx);
Matcher mather = pattern.matcher(str1);

boolean flag = mather.matches();

while (mather.find()) {
// System.out.println( mather.group() );
}

String[] strs = str1.split(regEx);
for (String s : strs) {
System.out.println(s);

}

[解决办法]
在网上搜一下好了

读书人网 >J2EE开发

热点推荐