怎么用正则表达式找出一个字符串中<img src=""/>中的图片网址,字符串中有中文也有英文,怎么匹配呢,帮帮忙吧,大神们正则表达式java

解决方案 »

  1.   


    public static Map match(String source, String element, String attr) {
    Map result = new LinkedHashMap();
    String reg = "<" + element + "[^<>]*?\\s"+ attr+ "=['\"]?(.*?)['\"]?\\s.*?>";
    Matcher m = Pattern.compile(reg).matcher(source);
    while (m.find()) {
    String key = m.group(0);
    String value = m.group(1);
    result.put(key, value);
    }
    return result;
    } public static void main(String[] args) {
     String source =
     "<img  title='w213213' src='http:\\\\www.qq.com/asd/sadsd+_#$' />";
     Map map = match(source, "img", "src");
     Set<Map.Entry> set = map.entrySet();
            for (Iterator<Map.Entry> it = set.iterator(); it.hasNext();) {
                Map.Entry entry = (Map.Entry) it.next();
                System.out.println( entry.getValue());
            }

    }
      

  2.   


    近日,2014款保时捷Panamera进行耐寒路试谍照曝光。该车预计在今年4月的 上海汽车 展会亮相,作为中期改款车型,外形的变化并不大,下一代车型可能才会有更大的变化。前端照明和轻量化设计的保险杠有些细微变化,尾灯和最新款的Boxster和Cayman车型有相似风格,车灯采用LED。内饰方面,在设备和车内装潢上有细微调整,配备丰富的车内电子使用系统,内饰采用新的材料和更丰富的颜色组合搭配,以赢得更多的新消费者青睐。据了解,该车在未来一两年内还会推出混合动力系统车型。
    <img src="http://www.ccstock.cn/2013-03-20/img_114302627951490d84a7d9a.jpg">匹配不出来最后那个标签里的网址啊,直接写这个标签也出不来,再求您给讲解一下,谢谢
      

  3.   

    /(?<=(<img src=['|"]))[^<|>]+(?=(['|"]>))/g
      

  4.   


    String html=yourHtml;
    Pattern p=Pattern.compile("<img src=\"(.*?)\"\\s*/>");
    Matcher m=p.matcher(html);
    while(m.find()){
       System.out.println(m.group(1));
    }
      

  5.   


    public class Test3{
        public static void main(String[] args)
        {
         System.out.println(getContext2().toString());
        }
      //正则提取
    public static List<String> getContext2() {
    //String html="kk<p>123456</p>ssss";
    String html="合动力系统车型。<img src=\"http://www.ccstock.cn/2013-03-20/img_114302627951490d84a7d9a.jpg\">匹配不出";

    String head="<img src=\"";
    String foot="\">";
    List<String> resultList = new ArrayList<String>();
            Pattern p = Pattern.compile(head+"(.*?)"+foot);//匹配<p>开头,</p>结尾的文档
            Matcher m = p.matcher(html );//开始编译
            while (m.find()) {
             String str=m.group(1);
             resultList.add(str);
            }
            return resultList;
        }
    }
    简单写了一下,中间是否是jpg结尾的没管。楼主可以适当的添加。。
    结果:
    [http://www.ccstock.cn/2013-03-20/img_114302627951490d84a7d9a.jpg]