正则:获取字符串中img标签内src图片地址数组

本文介绍了一种从HTML内容中解析图片链接的方法,并将其转换为资源列表的过程。通过正则表达式匹配图片标签及其中的src属性,进而创建对应的资源对象列表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

private SpuChannelDescVO dealContent(SkuContentInfoVO skuchannelDesc,Integer spuId){
        SpuChannelDescVO spuChannelDesc=new SpuChannelDescVO();
        BeanUtils.copyProperties(skuchannelDesc,spuChannelDesc);
        List<SpuResourceVO> spuResourceVOList=new ArrayList<>();
        Pattern p_image;
        Matcher m_image;
        String img;
        String regEx_img = "<img.*src\\s*=\\s*(.*?)[^>]*?>";
        p_image = Pattern.compile
                (regEx_img, Pattern.CASE_INSENSITIVE);
        m_image = p_image.matcher(spuChannelDesc.getChannelDesc());
        while (m_image.find()) {
            // 得到<img />数据
            img = m_image.group();
            // 匹配<img>中的src数据
            Matcher m = Pattern.compile("src\\s*=\\s*\"?(.*?)(\"|>|\\s+)").matcher(img);
            while (m.find()) {
                SpuResourceVO vo=SpuResourceVO
                        .builder()
                        .intraNetUrl(m.group(1))
                        .spuId(spuId)
                        .resourceType(ResourceTypeEnum.CONTENT.getValueString())
                        .sort(-1)
                        .build();
                spuResourceVOList.add(vo);
            }
        }

        for(int i=0;i<spuResourceVOList.size();i++){
            spuResourceVOList.get(i).setSort(i);
        }
        spuChannelDesc.setContentResourceList(spuResourceVOList);

        return spuChannelDesc;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值