正则表达式获取图片地址和长宽高

public static void main(String[] args) {
        String str = "<p style='text-align: center;'><span class='marker'><strong>1104测试2</strong></span></p>"
                +"<h2 style='font-style:italic;'>这是测是使用</h2>"
                +"<p><img alt='' src='http://10.10.10.242:82/xxx/contracts/1478225023392_9c363621-5c13-4308-a77e-3206cb929153.jpg' style='height:220px; width:391px' /></p>"
                +"<p>&nbsp;</p>"
                +"<p>测试图片截取的</p>"
                +"<p><img alt='' src='http://10.10.10.242:82/xxx/contracts/1478225059568_a73665bc-0909-4045-9c6d-4e8b8b0190c8.jpg' style='height:220px; width:293px' /></p>"
                +"<p>&nbsp;</p>"
                +"<p>图片3</p>"
                +"<p><img alt='' src='http://10.10.10.242:82/xxx/contracts/1478225079772_c668f171-d5e5-4e98-aac2-98477a11d972.jpg' style='height:200px; width:200px' /></p>"
                +"<p>&nbsp;</p>";
    
            String regStr = "<img ([\\s\\S]*?) />";    //获取图片的 <img alt='' src='http://10.10.10.242:82/xxx/contracts/1478225079772_c668f171-d5e5-4e98-aac2-98477a11d972.jpg' style='height:200px; width:200px' />
            String regUrl = "src='([\\s\\S]*?)'";
            //style='height:200px; width:200px'
            //String height = "style='height:([\\s\\S]*?)px;";
            String height = "height:([\\s\\S]*?)px;";
            String width =  " width:([\\s\\S]*?)px'";
            
             Pattern r = Pattern.compile(regStr);
             Pattern u = Pattern.compile(regUrl);
             Pattern h = Pattern.compile(height);
             Pattern w = Pattern.compile(width);
             Matcher m = r.matcher(str);
        
             
              List<String> imgList = new ArrayList<String>();
              while(m.find()){
                  String url =  m.group(0) ;
                  Matcher mUrl = u.matcher(url);
                  Matcher hi = h.matcher(url);
                  Matcher wi = w.matcher(url);
                  String imgUrl = "";
                  
                  while(mUrl.find()){
                    //  System.out.println("Found value: " + mUrl.group(0) );
                      imgUrl = mUrl.group(0);
                      imgUrl = imgUrl.substring(5, imgUrl.length()-1);
                  }
                  
                  String c = "0";
                  String k="0";
                  while(hi.find()){
                     // System.out.println("Found hi: " + hi.group(0) );
                     c= hi.group(0);
                  }
                  
                  while(wi.find()){
                      //System.out.println("Found wi: " + wi.group(0) );
                      k=wi.group(0);
                  }
                  String cStr = "0";
                  String kStr = "0";
                  if(!"0".equals(c)){
                      cStr = c.substring(7, 10);
                  }
                  
                  if(!"0".equals(k)){
                      kStr = k.substring(7, 10);
                  }
                  
                  System.out.println("图片的长: "+cStr +" 宽:"+kStr+" 图片地址为:"+imgUrl);
              }
              /*if(m.find()){
                  for (int i = 0;  i< m.groupCount();i++) {
                      System.out.println("Found value: " + m.group(i) );
                }
                  while(m.find()){
                      System.out.println("Found value: " + m.group(0) );
                  }
              }*/
              
              
    
    }

效果:

160946_QnC2_930697.jpg

转载于:https://my.oschina.net/kaigejava/blog/781652

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值