Java用正则表达式获取html里的一段内容 30
Java用正则表达式获取http://www.sears.com的html源码里第1332行里的数字(500+)和1334行里的数字(286)。请给出代码。在线等,非常急...
Java用正则表达式获取http://www.sears.com的html源码里第1332行里的数字(500+)和1334行里的数字(286)。请给出代码。在线等,非常急!谢谢!所有分都给了
就是下面这两段里的 500+ 和 286
<a id="utilAllProd" class="utilAllProdAct" href="javascript:;"><span class="utilNumbProd">(500+)</span></a>
<a id="utilSearsProd" class="cursorPointer" onclick="sellerTabsOmniture('View Sears Only Products');" href="/search=digital camera&Sears?filter=storeOrigin&keywordSearch=false&vName=Cameras+%26+Camcorders&catalogId=12605&previousSort=ORIGINAL_SORT_ORDER&viewItems=50&storeId=10153&cName=Digital+Cameras"><span class="utilNumbProd">(286)</span></a> 展开
就是下面这两段里的 500+ 和 286
<a id="utilAllProd" class="utilAllProdAct" href="javascript:;"><span class="utilNumbProd">(500+)</span></a>
<a id="utilSearsProd" class="cursorPointer" onclick="sellerTabsOmniture('View Sears Only Products');" href="/search=digital camera&Sears?filter=storeOrigin&keywordSearch=false&vName=Cameras+%26+Camcorders&catalogId=12605&previousSort=ORIGINAL_SORT_ORDER&viewItems=50&storeId=10153&cName=Digital+Cameras"><span class="utilNumbProd">(286)</span></a> 展开
3个回答
2013-05-05
展开全部
String strLine="<a id=\"utilAllProd\" class=\"utilAllProdAct\" href=\"javascript:;\"><span class=\"utilNumbProd\">(500+)</span></a>\r\n"
+"\r\n <a id=\"utilSearsProd\" class=\"cursorPointer\" onclick=\"sellerTabsOmniture('View Sears Only Products');\" href=\"/search=digital camera&Sears?filter=storeOrigin&keywordSearch=false&vName=Cameras+%26+Camcorders&catalogId=12605&previousSort=ORIGINAL_SORT_ORDER&viewItems=50&storeId=10153&cName=Digital+Cameras\"><span class=\"utilNumbProd\">(286)</span></a>";
Pattern pa = Pattern.compile("<span class=\"utilNumbProd\">\\((\\d+[\\+]*)\\)</span>");
Matcher ma = pa.matcher(strLine);
while (ma.find()) {
String text=ma.group(1);
System.out.println(text);
}
+"\r\n <a id=\"utilSearsProd\" class=\"cursorPointer\" onclick=\"sellerTabsOmniture('View Sears Only Products');\" href=\"/search=digital camera&Sears?filter=storeOrigin&keywordSearch=false&vName=Cameras+%26+Camcorders&catalogId=12605&previousSort=ORIGINAL_SORT_ORDER&viewItems=50&storeId=10153&cName=Digital+Cameras\"><span class=\"utilNumbProd\">(286)</span></a>";
Pattern pa = Pattern.compile("<span class=\"utilNumbProd\">\\((\\d+[\\+]*)\\)</span>");
Matcher ma = pa.matcher(strLine);
while (ma.find()) {
String text=ma.group(1);
System.out.println(text);
}
追问
高手,谢谢!可以加一下我qq吗? 179985757 我在做一个project,还想咨询下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
(?<=>\()\d+\+?(?=\))
没学过java,不知道怎么组织表达式,但是这个搜索给你找出来了,.net引擎下的正则
没学过java,不知道怎么组织表达式,但是这个搜索给你找出来了,.net引擎下的正则
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你的源码是现成的话就用正则表达式 ^\((0-9+)\+*\)$ 试试,我没有试过这个匹配出来应该满足
追问
其实是网络爬虫parser部分的一段,源码我是通过网站的搜索得到url然后把内容储存在一个stringbuilder里。问题是我做的是通过关键字搜索这个网站的产品,所以得到的源码里这段中间部分会根据关键字不同而不同,但还是要取里面的这两个数字输出。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询