Java正则表达式获得html字符串里的<img src=""/> 中的url列表

avatar 2020年04月06日21:06:23 0 349 views
在帮朋友写代码的时候,遇到一个场景,需要获取富文本编辑器里的图片URL集合。 最简单的办法就是使用 正则表达式,记录一下。
public static List<String> getImgSrc(String htmlStr) {
    String img = "";
    Pattern imgPattern;
    Matcher imgMatcher;
    List<String> pics = new ArrayList<>();
    String imgReg = "<img.*src\\s*=\\s*(.*?)[^>]*?>";
    imgPattern = Pattern.compile(imgReg, Pattern.CASE_INSENSITIVE);
    imgMatcher = imgPattern.matcher(htmlStr);
    while (imgMatcher.find()) {
        img = img + "," + imgMatcher.group();
        Matcher m = Pattern.compile("src\\s*=\\s*\"?(.*?)(\"|>|\\s+)").matcher(img);
        while (m.find()) {
            pics.add(m.group(1));
        }
    }
    return pics;
}


/**
 * 测试
 * @param args
 */
public static void main(String[] args) {
    String htmlStr = "<div class=\"fr-element fr-view\" dir=\"ltr\" contenteditable=\"true\" style=\"min-height: 400px;\" aria-disabled=\"false\" spellcheck=\"true\"><p><img src=\"/upload/2020/4/awards.jpg\" style=\"width: 144px;\" class=\"fr-fic fr-dib fr-draggable fr-fil\"></p><p><img src=\"/upload/2020/4/blog1.jpg\" style=\"width: 156px;\" class=\"fr-fic fr-dib fr-draggable fr-fil\"></p><p><img src=\"/upload/2020/4/blog4.jpg\" style=\"width: 170px;\" class=\"fr-fic fr-dib fr-draggable fr-fil\"></p></div>";
    System.out.println(getImgSrc(htmlStr));
}
  • 微信
  • 交流学习,有偿服务
  • weinxin
  • 博客/Java交流群
  • 资源分享,问题解决,技术交流。群号:590480292
  • weinxin
avatar

发表评论

avatar 登录者:匿名
您需要登录才能评论,可以选择注册或者QQ快速登录

     

已通过评论:0   待审核评论数:0