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的classpath配置,为什么也有几种说法? 请问java中有没有对数组的最大长度作限制?那最大长度是多少? 请帮忙理解一下这个程序 (需要大家的经验)怎样提高java水平 SQL server连不上什么问题? 高手help!!! 在JAVA中从SYBASE读/写数据的中文乱码问题!! 关于web程序发布的问题 急求,面向P2P应用的网络行为仿真方法研究与实现。 继续RIM 酬谢 一道排序题,满分奉上,不难!急用 谢谢 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));
}