正则表达式问题??急,提取天气预报信息。

hyzhx 2008-04-16 03:07:12
<table border='1' width='520' align='center' cellpadding='1' cellspacing='1'>
<tr bgcolor='#DEF3FF'><td width='36' rowspan='2' height='18' class='font'><div align='center'>时次</div></td>
<td width='60' rowspan='2' height='18' class='font'><div align='center'>气温</div><div align='center'>(℃)</div></td>
<td width='60' rowspan='2' height='18' class='font'><div align='center'>雨量</div><div align='center'>(mm)</div></td>
<td width='60' rowspan='2' height='18' class='font'><div align='center'>相对湿度</div><div align='center'>(%)</div></td>
<td width='60' rowspan='2' height='18' class='font'><div align='center'>气压</div><div align='center'>(Hpa)</div></td>
<td colspan='2' height='18' class='font'><div align='center'>2分钟平均风</div></td>
<td colspan='2' height='18' class='font'><div align='center'>极大风</div></td></tr>
<tr bgcolor='#DEF3FF'><td width='60' height='18' class='font'><div align='center'>风速</div><div align='center'>(m/s)</div></td>
<td width='60' height='18' class='font'><div align='center'>风向</div></td>
<td width='60' height='18' class='font'><div align='center'>风速</div><div align='center'>(m/s)</div></td>
<td width='60' height='18' class='font'><div align='center'>风向</div></td></tr>

<tr bgcolor='#EEF5E5'><td width='36' height='18' class='font'><div align='center'>10</div></td>
<td width='60' height='18' class='font'><div align='center'>20.0</div></td>
<td width='60' height='18' class='font'><div align='center'>0.0</div></td>
<td width='60' height='18' class='font'><div align='center'>60</div></td>
<td width='60' height='18' class='font'><div align='center'>1011.1</div></td>
<td width='60' height='18' class='font'><div align='center'>0.8</div></td>
<td width='60' height='18' class='font'><div align='center'>东</div></td>
<td width='60' height='18' class='font'><div align='center'>2.9</div></td>
<td width='60' height='18' class='font'><div align='center'>东北</div></td>
</tr>

<tr><td width='36' height='18' class='font'><div align='center'>09</div></td>
<td width='60' height='18' class='font'><div align='center'>18.0</div></td>
<td width='60' height='18' class='font'><div align='center'>0.0</div></td>
<td width='60' height='18' class='font'><div align='center'>67</div></td>
<td width='60' height='18' class='font'><div align='center'>1010.9</div></td>
<td width='60' height='18' class='font'><div align='center'>1.2</div></td>
<td width='60' height='18' class='font'><div align='center'>北东北</div></td>
<td width='60' height='18' class='font'><div align='center'>2.0</div></td>
<td width='60' height='18' class='font'><div align='center'>北东北</div></td>
</tr>

<tr bgcolor='#EEF5E5'><td width='36' height='18' class='font'><div align='center'>08</div></td>
<td width='60' height='18' class='font'><div align='center'>16.0</div></td>
<td width='60' height='18' class='font'><div align='center'>0.0</div></td>
<td width='60' height='18' class='font'><div align='center'>76</div></td>
<td width='60' height='18' class='font'><div align='center'>1010.9</div></td>
<td width='60' height='18' class='font'><div align='center'>1.0</div></td>
<td width='60' height='18' class='font'><div align='center'>北东北</div></td>
<td width='60' height='18' class='font'><div align='center'>2.0</div></td>
<td width='60' height='18' class='font'><div align='center'>东东北</div></td>
</tr>

<tr><td width='36' height='18' class='font'><div align='center'>07</div></td>
<td width='60' height='18' class='font'><div align='center'>14.0</div></td>
<td width='60' height='18' class='font'><div align='center'>0.0</div></td>
<td width='60' height='18' class='font'><div align='center'>82</div></td>
<td width='60' height='18' class='font'><div align='center'>1010.4</div></td>
<td width='60' height='18' class='font'><div align='center'>1.3</div></td>
<td width='60' height='18' class='font'><div align='center'>南东南</div></td>
<td width='60' height='18' class='font'><div align='center'>2.0</div></td>
<td width='60' height='18' class='font'><div align='center'>东北</div></td>
</tr>

<tr bgcolor='#EEF5E5'><td width='36' height='18' class='font'><div align='center'>06</div></td>
<td width='60' height='18' class='font'><div align='center'>13.0</div></td>
<td width='60' height='18' class='font'><div align='center'>0.0</div></td>
<td width='60' height='18' class='font'><div align='center'>84</div></td>
<td width='60' height='18' class='font'><div align='center'>1009.7</div></td>
<td width='60' height='18' class='font'><div align='center'>1.4</div></td>
<td width='60' height='18' class='font'><div align='center'>东</div></td>
<td width='60' height='18' class='font'><div align='center'>2.1</div></td>
<td width='60' height='18' class='font'><div align='center'>北东北</div></td>
</tr>
</table>
...全文
137 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hyzhx 2008-04-17
  • 打赏
  • 举报
回复
ls,你这样处理,会过滤到一些杂质信息。不过还是很感谢你。
这些问题,我都已经解决。
因为代码过长,不好贴出来,详细情况你可以看我的博客http://blog.csdn.net/hyzhx/archive/2008/04/17/2299017.aspx
梅小西Echo 2008-04-16
  • 打赏
  • 举报
回复

import java.net.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.io.*;
public class c
{
public static void main(String[] args)
{
try
{
String ur="http://cdc.bjmb.gov.cn/gongzhong.asp";
URL MyURL=new URL(ur);
String str;
URLConnection con=MyURL.openConnection();
InputStreamReader ins=new InputStreamReader(con.getInputStream(),"gbk");
BufferedReader in=new BufferedReader(ins);
StringBuffer sb = new StringBuffer();
while ((str=in.readLine())!=null)
{
sb.append(str);
}
in.close();


Pattern p = Pattern.compile("<td\\s*width='60'\\s*height='18'\\s*class='font'>\\s*<div\\s*align='center'>(.*?)</div></td>");
Matcher m = p.matcher(sb.toString());
m.matches();
while(m.find())
{
System.out.println(" "+m.group(1));
}
}
catch (MalformedURLException mfURLe) {
System.out.println("MalformedURLException: " + mfURLe);
}
catch (IOException ioe) {
System.out.println("IOException: " + ioe);

}
}
}
eswn 2008-04-16
  • 打赏
  • 举报
回复
楼主看下html parse吧,网上实例多多,正则表达式不是处理大段文本的。
分数拿来。
hyzhx 2008-04-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 believefym 的回复:]
不会问问题
[/Quote]
就是提取这个网页上的天气预报信息http://cdc.bjmb.gov.cn/gongzhong.asp。有什么办法?
believefym 2008-04-16
  • 打赏
  • 举报
回复
不会问问题

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧