获取内容中所有指定标签的src

下边这个方法是获取内容中(比如网页)所有的指定标签的src集合,htmlstr为内容,type为标签名称,比如图片标签名称为img(代码块中注释部分即是以img为示例),视频标签为video等

/**
     * 获取指定类型的src值的集合
     * @param htmlStr
     * @param type 标签名称
     * @return
     */
    public static Set<String> getSrcStr(String htmlStr,String type) {
        Set<String> srcs = new HashSet<String>();
        String src = "";
        Pattern p_src;
        Matcher m_src;
// String regEx_img = "<img.*src=(.*?)[^>]*?>"; //图片链接地址
        String regEx_src = "<"+type+".*src\\s*=\\s*(.*?)[^>]*?>";
        p_src = Pattern.compile
                (regEx_src, Pattern.CASE_INSENSITIVE);
        m_src = p_src.matcher(htmlStr);
        while (m_src.find()) {
// 得到<img />数据
            src = m_src.group();
// 匹配<img>中的src数据
            Matcher m = Pattern.compile("src\\s*=\\s*\"?(.*?)(\"|>|\\s+)").matcher(src);
            while (m.find()) {
                srcs.add(m.group(1));
            }
        }
        return srcs;
    }

使用示例:

		String str="12345<video src=\"http://vd4.bdstatic.com/mda-jkjf1ab31ekxafc4/sc/mda-jkjf1ab31ekxafc4.mp4?playlist=%5B%22hd%22%2C%22sc%22%5D\" width=\"100px\"></video>,<video src=\"http://vd4.bdstatic.com/mda-jkjf1ab31ekxafc4/sc/mda-jkjf1ab31ekxafc4.mp4?playlist=%5B%22hd%22%2C%22sc%22%5g\"></video>12345";
        System.out.println(getSrcStr(str,"video"));

示例结果(为地址的set集合):

[http://vd4.bdstatic.com/mda-jkjf1ab31ekxafc4/sc/mda-jkjf1ab31ekxafc4.mp4?playlist=%5B%22hd%22%2C%22sc%22%5D, http://vd4.bdstatic.com/mda-jkjf1ab31ekxafc4/sc/mda-jkjf1ab31ekxafc4.mp4?playlist=%5B%22hd%22%2C%22sc%22%5g]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jarbein

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值