Java正则表达式获得html字符串里的 中的url列表

avatar 2020年4月6日21:06:23 评论 131 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

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: