字符串获取图片标签集合

public static void main(String[] args) throws Exception {

        String str ="长了炒作的风气,不利于茅台酒的长期价格稳定。\n" +
                "<IMAGE SRC=\"http://www.886.cn/attpic_brief.jpg\" >\n" +
                "  资本市场一路攀升\n" +
                "  事实上,疫情期间白酒一度停摆,进入6月的白酒板块如久旱逢甘霖,整体涨幅也十分可观。其中,五粮液、泸州老窖今日股价一路冲高至185.1元和100.23元,且五粮液总市值已突破7000亿。但有证券分析人士透露,此次白酒板块大涨的背后,还需注意“流动性推动泡沫化”的可能。\n" +
                "<img src=\"http://www.886.cn/attpic_brief.jpg\" ></img>\n" +
                "  终端市场原价难寻\n" +
                "  即使终端市场价格飞奔,飞天茅台也依旧是一瓶难求。对此,有业内人士表示,现在能喝茅台,对于很多人来说已是一种身份、面子的象征,随着逢年过节宴请数量的增加,越来越多的人开始在酒桌上喝茅台,因此导致市场的需求旺盛,但茅台的酒产量有限,其中有相当一部分会作为基酒存储,但市场的需求在不断被放大,供需关系导致茅台一瓶难求。" +
                "<IMG SRC=\"http://www.886.cn/attpic_brief.jpg\">\n";
//          标签符号转换HtmlUtil.unescape()
          getMatchString(HtmlUtil.unescape(str));
          getImgSrc(HtmlUtil.unescape(str));

        }
  public static List<String> getMatchString(String content) {
        List<String> pics = new ArrayList<>();
//        标签大小写区分  Pattern.CASE_INSENSITIVE
        Pattern compile = Pattern.compile("<(IMG|IMAGE)(.*?)(>|/>|</IMG>)", Pattern.CASE_INSENSITIVE);
        Matcher matcher = compile.matcher(content);
        while (matcher.find()) {
            String img = matcher.group();
            pics.add(img);
            System.out.println("====IMG==="+img);
        }
        System.out.println( "====PICS===="+pics);
        return pics;
    }

结果:

====IMG===<IMAGE SRC="http://www.886.cn/attpic_brief.jpg" >
====IMG===<img src="http://www.886.cn/attpic_brief.jpg" >
====IMG===<IMG SRC="http://www.886.cn/attpic_brief.jpg">
====PICS====[<IMAGE SRC="http://www.886.cn/attpic_brief.jpg" >, <img src="http://www.886.cn/attpic_brief.jpg" >, <IMG SRC="http://www.886.cn/attpic_brief.jpg">]

 
public static List<String> getImgSrc(String content) {
    List<String> list = new ArrayList<String>();
    Pattern p_img = Pattern.compile("<(IMG|IMAGE)(.*?)(>|/>|</IMG>)", Pattern.CASE_INSENSITIVE);
    Matcher m_img = p_img.matcher(content);
    while (m_img.find()) {

       //获取<img />标签
        String imgTag = m_img.group(0);
        System.out.println("====图片标签===="+imgTag);
        //获取<img />标签中的内容
        String img = m_img.group(2);
        System.out.println("====图片标签内容===="+img);
        //开始匹配<img />标签中的src
        Pattern p_src = Pattern.compile("(src|SRC)=(\"|\')(.*?)(\"|\')");
        Matcher m_src = p_src.matcher(img);
        if (m_src.find()) {
            String src = m_src.group(3);
            System.out.println("===标签src===="+src);
            list.add(src);
        }
    }
    return list;
}

 

结果:

====图片标签====<IMAGE SRC="http://www.886.cn/attpic_brief.jpg" >
====图片标签内容==== SRC="http://www.886.cn/attpic_brief.jpg" 
===图片src====http://www.886.cn/attpic_brief.jpg
====图片标签====<img src="http://www.886.cn/attpic_brief.jpg" >
====图片标签内容==== src="http://www.886.cn/attpic_brief.jpg" 
===图片src====http://www.886.cn/attpic_brief.jpg
====图片标签====<IMG SRC="http://www.886.cn/attpic_brief.jpg">
====图片标签内容==== SRC="http://www.886.cn/attpic_brief.jpg"
===图片src====http://www.886.cn/attpic_brief.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值