当前位置: 代码迷 >> J2EE >> 用正则 提取 EMAIL 地址解决方案
  详细解决方案

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

热度:689   发布时间:2016-04-22 02:28:42.0
用正则 提取 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);

}

------解决方案--------------------
在网上搜一下好了
  相关解决方案