public class Test { public static void main(String[] args) { String source = "<p><img src=\"https://xxxxx/xxx/xxxx/182cd48c587651767921868181f66ca8.jpg\" />sdfasdfasdfsadfasdfasdfasdfasdfasdf</p><img src=\"https://xxxxx/xxxx/182cd48c587651767921868181f66ca8sdf.jpg\" />"; System.out.println(getImgStr(source)); String htmlStr = "<p><video controls=\"controls\" durationtime=\"72\" filesize=\"27117469\" height=\"200px\" poster=\"https://xxxxxx/b439b0281450abce7f13b2920da04346.png\" src=\"https://xxxxxxxxxx/b439b0281450abce7f13b2920da04346.mp4\" style=\"\"> </video></p>"; System.out.println(getVideoStr(htmlStr)); } public static Set<String> getImgStr(String htmlStr) { Set<String> pics = new HashSet<>(); String img = ""; Pattern p_image; Matcher m_image; String regEx_img = "<img.*src\\s*=\\s*(.*?)[^>]*?>"; p_image = Pattern.compile(regEx_img, Pattern.CASE_INSENSITIVE); m_image = p_image.matcher(htmlStr); while (m_image.find()) { // 得到<img />数据 img = m_image.group(); // 匹配<img>中的src数据 Matcher m = Pattern.compile("src\\s*=\\s*\"?(.*?)(\"|>|\\s+)").matcher(img); while (m.find()) { pics.add(m.group(1)); } } return pics; } public static Map<String, String> getVideoStr(String htmlStr) { Map<String, String> pics = new HashMap<String, String>(); String regEx_video="<video.*poster\\s*=\\s*(.*?)[^>]*?src\\s*=\\s*(.*?)[^>]*?>"; Pattern p = Pattern.compile(regEx_video,Pattern.CASE_INSENSITIVE); Matcher m = p.matcher(htmlStr); String video=""; Map<String, String> map = new HashMap<String, String>(); while (m.find()) { video=m.group(); Matcher mPoster = Pattern.compile("poster\\s*=\\s*\"?(.*?)(\"|>|\\s+)").matcher(video); Matcher mSrc = Pattern.compile("src\\s*=\\s*\"?(.*?)(\"|>|\\s+)").matcher(video); String poster =""; String src=""; while (mPoster.find()){ poster=mPoster.group(1); } while (mSrc.find()){ src=mSrc.group(1); } map.put("poster", poster); map.put("src", src); } return map; }}
原文地址:https://www.cnblogs.com/austinspark-jessylu/p/8252936.html
时间: 2024-10-09 02:02:42