正则表达式提取HTML文本中的图片图片

/**
* 截取 HTML 文本中的图片 
* @param htmlStr
* @return
*/
public static List getImgStr(String htmlStr) {
String img = "";
Pattern p_image;
Matcher m_image;
List pics = new ArrayList();
String regEx_img = "]*?>";
p_image = Pattern.compile(regEx_img, Pattern.CASE_INSENSITIVE);
m_image = p_image.matcher(htmlStr);
while (m_image.find()) {
img = img + "," + m_image.group();
Matcher m = Pattern.compile("src\\s*=\\s*\"?(.*?)(\"|>|\\s+)").matcher(img);
while (m.find()) {
pics.add(m.group(1));
}
}
return pics;
}

}


     /** 
* 截取 HTML 文本中的图片 图片类型Base64
* @param htmlStr
* @return
*/
public   static   final   Pattern   PATTERN   =   Pattern.compile("<img\\s+(?:[^>]*)src\\s*=\\s*([^>]+)",   Pattern.CASE_INSENSITIVE   |   Pattern.MULTILINE);  
public   static   List   getImgSrc(String   html)   {   
        Matcher   matcher   =   PATTERN.matcher(html);   
        List   list   =   new   ArrayList();   
        while   (matcher.find())   {   
            String   group   =   matcher.group(1);   
            if   (group   ==   null)   {   
                continue;   
            }   
            //   这里可能还需要更复杂的判断,用以处理src="...."内的一些转义符   
            if   (group.startsWith("'"))   {   
                list.add(group.substring(1,   group.indexOf("'",   1)));   
            }   else   if   (group.startsWith("\""))   {   
                list.add(group.substring(1,   group.indexOf("\"",   1)));   
            }   else   {   
                list.add(group.split("\\s")[0]);  
            }   
        }   
        return   list;   
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值