gpt4 book ai didi

java - 从 html 字符串中提取所有图像

转载 作者:行者123 更新时间:2023-11-30 01:59:59 24 4
gpt4 key购买 nike

我的网络服务返回如下 html 字符串:

 {"content":"[caption id=\"attachment_7691\" align=\"aligncenter\" width=\"300\"]<img class=\"wp-image-7691 size-medium\" src=\"http:\/\/smsbaz.org\/wp-content\/uploads\/2015\/07\/funny-sms-exams-300x217.jpg\" alt=\"funny sms exams\" width=\"300\" height=\"217\" \/> funny sms exams[\/caption]\r\n<p style=\"text-align: center\">\u062f\u0631\u0633 \u062e\u0648\u0627\u0646\u062f\u0646 \u0686\u06cc\u0633\u062a\u061f\r\n.\r\n.\r\n.\r\n\u0628\u0647\u062a\u0631\u06cc\u0646 \u0642\u0631\u0635 \u062e\u0648...

我想提取所有图像,如:

sms
(来源:smsbaz.org)

我正在使用此函数,但数组的大小始终为 0:

public ArrayList<String> getImagesOfFromHtmlString(String str){

ArrayList<String> arr_images = new ArrayList<>();
Pattern pattern = Pattern.compile("(https?://\\s*\\S+\\.(?:jpg|JPEG|png|gif))");
Matcher m = pattern.matcher(str);


while(m.find()){
arr_images.add(m.group());
}


return arr_images ;

}

我哪里错了?

最佳答案

这有点危险,您也可以使用相对 URL。无论如何,您的角色类似乎有问题,例如\s 代表空格。我还注意到您在这种情况下使用 group() 不需要捕获,它将与代码中的 group(1) 相同。这里有一个解决方案,并不完美,但足以提取:

"src=[\"'](https?://[^\"']+?\\.(?:jpg|JPEG|png|gif))['\"]"

关于java - 从 html 字符串中提取所有图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31639282/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com