java 正则表达式 怎么匹配HTML中,不包含在a标签中的img标签,并且捕获img标签src=""中双引号的值 比如:<a href="http://csdn.net"><img src="a.jpg"/></a><img src="b.jpg"/>捕获b.jpg 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 try... String test = "<a href=\"http://csdn.net\"><img src=\"a.jpg\"/></a>\n" + "<img src=\"b.jpg\"/>"; String pattern = "(?is)<img[^>]*?src=\"([^\"]*)\"[^>]*>(?!((?!</?a\\b).)*</a>)"; Matcher m = Pattern.compile(pattern).matcher(test); while(m.find()) { System.out.println( m.group(1)); } 使用jsoup import org.jsoup.nodes.*;import org.jsoup.select.*;import org.jsoup.*; String input = "<html>" + "<head><title>example</title></head>" + "<body>" + "<a href=\"http://csdn.net\"><img src=\"a.jpg\"/></a>" + "<img src=\"b.jpg\"/>" + "</body>" + "</html>"; Document doc = Jsoup.parse(input); Elements allImages = doc.select("img"); Elements otherImages = doc.select("a > img"); allImages.removeAll(otherImages); for(Element e : allImages){ System.out.println(e.attr("src")); } String test = "<a href=\"http://csdn.net\"><img src=\"a.jpg\"/></a>\n" +"<a><img src=\"a.jpg\"/></a>\n" +"<a href=\"\"><img src=\"a.jpg\"/></a>\n" + "<img src=\"b.jpg\"/>"; String pattern = "<img\\s+src=\"([\\w+|\\.]*)\"\\/\\>(?<!<a)(?!</a>)"; Matcher m = Pattern.compile(pattern).matcher(test); while(m.find()){ System.out.println( m.group(1)); } JAVA小问题 java怎样入门? 请问谁会使用IREPORT1.2.5呀 求教几个菜鸟级的练习题 数组在构造函数中初始化,却没用,到底哪错了!! 对于消息机制,用Java技术进行开发应该采用怎样的平台更方便!!来者有分,欢迎讨论 有关构造器和方法的问题 JBuider写应用程序怎么和数据库连接,有什么书介绍的比较详细? applet怎么读写本地文件 我的选择错了吗?请大家评价评价 一道排序题,满分奉上,不难!急用 谢谢 java 处理字符唯一的方法
+ "<img src=\"b.jpg\"/>";
String pattern = "(?is)<img[^>]*?src=\"([^\"]*)\"[^>]*>(?!((?!</?a\\b).)*</a>)";
Matcher m = Pattern.compile(pattern).matcher(test);
while(m.find())
{
System.out.println( m.group(1));
}
import org.jsoup.nodes.*;
import org.jsoup.select.*;
import org.jsoup.*; String input =
"<html>"
+ "<head><title>example</title></head>"
+ "<body>"
+ "<a href=\"http://csdn.net\"><img src=\"a.jpg\"/></a>"
+ "<img src=\"b.jpg\"/>"
+ "</body>"
+ "</html>";
Document doc = Jsoup.parse(input);
Elements allImages = doc.select("img");
Elements otherImages = doc.select("a > img");
allImages.removeAll(otherImages);
for(Element e : allImages){
System.out.println(e.attr("src"));
}
String test = "<a href=\"http://csdn.net\"><img src=\"a.jpg\"/></a>\n"
+"<a><img src=\"a.jpg\"/></a>\n"
+"<a href=\"\"><img src=\"a.jpg\"/></a>\n"
+ "<img src=\"b.jpg\"/>";
String pattern = "<img\\s+src=\"([\\w+|\\.]*)\"\\/\\>(?<!<a)(?!</a>)";
Matcher m = Pattern.compile(pattern).matcher(test);
while(m.find()){
System.out.println( m.group(1));
}