需要从这段html代码中提取表格中的动态数据 如代码中的63、1、62 求问用来匹配的正则表达式该怎么写?
<table class="pane" id="analysis.summary"><tr><td class="pane-header">Total</td><td class="pane-header">High Priority</td><td class="pane-header">Normal Priority</td><td class="pane-header">Low Priority</td></tr><tbody><tr><td class="pane">63</td><td class="pane"><a href="HIGH">1</a></td><td class="pane"><a href="NORMAL">62</a></td><td class="pane">
0
</td></tr></tbody></table>
<table class="pane" id="analysis.summary"><tr><td class="pane-header">Total</td><td class="pane-header">High Priority</td><td class="pane-header">Normal Priority</td><td class="pane-header">Low Priority</td></tr><tbody><tr><td class="pane">63</td><td class="pane"><a href="HIGH">1</a></td><td class="pane"><a href="NORMAL">62</a></td><td class="pane">
0
</td></tr></tbody></table>
解决方案 »
- 整合ssh,tomcat报的错误看不懂
- java
- 用过Rational Application Developer的请进
- 急,请教JNI调用DLL不能访问数据库的问题
- 求助:有没有用过apach的Httpclient包 用来做IIS的Baisc认证的,请进来帮忙看看
- 圖片壓縮問題
- Struts how to 批量更新 the many side of one-to-many relationship entity
- 送分
- 为什么eclipse插件识别不出来?
- 关于jdbcTemplate.query(sql, args, mapper);
- java会导致内存泄露吗?
- Cxf开发webservice时遇到Can't find the request for xx's Observer
如果你硬要正则表达式的话,会比较麻烦,我分析了下你的内容63是<td class="pane">的text;1是<td class="pane">下的<a href="HIGH">的text;62是<td class="pane">下的<a href="NORMAL">的text;你会发现每个都不一样,还不能保证不会出现第4种情况。这个正则会很长,而且只能提取到类似<td class="pane">63</td>这样一个字符串,还得从这个字符串里进行再次解析出62如果你是用XML来解析的话,那就简单多了,而且不当心上述提到的第4种情况,1、查找class等于"pane"的所有td;2、判断这个td下是否有a标签,有则提取a标签里的text,如果没有则提取td标签里的text
就是会很长 蛮想尝试用其他方法 请问下xml解析能提供例子么 非常感谢 比较急
String str = "<td class=\"pane\">63</td><td class=\"pane\"><a href=\"HIGH\">1</a></td><td class=\"pane\"><a href=\"NORMAL\">62</a></td>";
Matcher m = Pattern.compile("<td.*?>.*?([0-9]+).*?</td>").matcher(str);
while(m.find()){
System.out.println(m.group(1));
}
}
Pattern p = Pattern.compile("\\>(\\d+)\\<");
Matcher m = p.matcher(ss);
while(m.find()){
System.out.println(m.group(1));
}简单例子,楼主可以自己酌情修改.
* @param args
*/
public static void main(String[] args) {
String html = "<table class='pane' id='analysis.summary'><tr><td class='pane-header'>Total</td><td class='pane-header'>High Priority</td><td class='pane-header'>Normal Priority</td><td class='pane-header'>Low Priority</td></tr><tbody><tr><td class='pane'>63</td><td class='pane'><a href='HIGH'>1</a></td><td class='pane'><a href='NORMAL'>62</a></td><td class='pane'>0</td></tr></tbody></table>";
String str[] = html.replaceAll("[^0-9]", ",").split(",");
for(String s : str) {
if(!"".equals(s)) {
System.out.println(s);
}
}
}