天气预报 正则获取指数信息 group(0)指数 group(1)概要 group(2)详细指数 代码

如果出现正则内容出现东西过多,再增加一个(),group一下

完全原创,呕心沥血呀

package com.zzk.cn;
import java.awt.List;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class TestSun {
	public static void main(String[] args) {
		URL url = null;
		URLConnection conn = null;
		InputStream in = null;
		InputStreamReader isr = null;
		BufferedReader br = null;
		try {
			url = new URL("http://www.weather.com.cn/weather/101010100.shtml");
			conn = url.openConnection();
			in = conn.getInputStream();
			isr = new InputStreamReader(in,"utf8");
			br = new BufferedReader(isr);
			String line = "";
			String info="";
			while (null != (line = br.readLine())) {
				//System.out.println(line);
				info+=line;
			}

			//System.out.println(info);
			Pattern p=Pattern.compile("div\\sclass=.weatherTopright.*?</div>");//正则获取网页大致信息

			Matcher m=p.matcher(info);
			String s1="";
	    	while(m.find()) {
	    		s1=m.group();
	    		//System.out.println(s1);
	    	}

	    	String s2="";
	        Pattern p1=Pattern.compile("bold;.>(\\d+):(\\d+)</strong>");//正则获取网页日出日落信息
	    	//Pattern p1=Pattern.compile("<(/?\\s?br\\b)>");
	    	Matcher m1=p1.matcher(s1);
	    	//System.out.println(s1);
	    	ArrayList<String> a = new ArrayList<String>();
	    	while(m1.find()) {
	    		//m1.group(1);
	    	    String s=m1.group(1);
	    	    String s0=m1.group(2);
	    	    String result = s+":"+s0;
	    	    a.add(result);
	    	}
	    	System.out.println(a.get(0));
	    	System.out.println(a.get(1));
//	    	System.out.println(a.get(2));
//	    	System.out.println(a.get(3));

	    	Pattern p2=Pattern.compile("div\\sclass=.todayLiving.*?</div>");//正则获取网页大致信息

			Matcher n=p2.matcher(info);
			String t1="";
	    	while(n.find()) {
	    		t1=n.group();
	    		//System.out.println(t1);
	    	}

	    	String t2="";
	        Pattern p3=Pattern.compile("<blockquote>\\s(.*?)\\s</blockquote>");//正则获取网页日出日落信息
	    	//Pattern p1=Pattern.compile("<(/?\\s?br\\b)>");
	        ArrayList<String> b = new ArrayList<String>();
	    	Matcher n1=p3.matcher(t1);
	    	while(n1.find()) {
	    		t2=n1.group();
	    		//System.out.println(n1.group());
	    		String detail=t2;
	    		b.add(detail);
	    	}
	    	String guoming=b.get(0).replaceAll("<blockquote>", "").replaceAll("</blockquote>", "").replaceAll(" ", "");
	    	String wuran=b.get(1).replaceAll("<blockquote>", "").replaceAll("</blockquote>", "").replaceAll(" ", "");
	    	String ganmao=b.get(2).replaceAll("<blockquote>", "").replaceAll("</blockquote>", "").replaceAll(" ", "");
	    	String ziwaixian=b.get(3).replaceAll("<blockquote>", "").replaceAll("</blockquote>", "").replaceAll(" ", "");
	    	String chuanyi=b.get(4).replaceAll("<blockquote>", "").replaceAll("</blockquote>", "").replaceAll(" ", "");
	    	String shushi=b.get(5).replaceAll("<blockquote>", "").replaceAll("</blockquote>", "").replaceAll(" ", "");
	    	String huazhuang=b.get(6).replaceAll("<blockquote>", "").replaceAll("</blockquote>", "").replaceAll(" ", "");
	    	String meifa=b.get(7).replaceAll("<blockquote>", "").replaceAll("</blockquote>", "").replaceAll(" ", "");
	    	String xiche=b.get(8).replaceAll("<blockquote>", "").replaceAll("</blockquote>", "").replaceAll(" ", "");
	    	String lukuang=b.get(9).replaceAll("<blockquote>", "").replaceAll("</blockquote>", "").replaceAll(" ", "");
	    	String jiaotong=b.get(10).replaceAll("<blockquote>", "").replaceAll("</blockquote>", "").replaceAll(" ", "");
	    	String lvyou=b.get(11).replaceAll("<blockquote>", "").replaceAll("</blockquote>", "").replaceAll(" ", "");
	    	String yundong=b.get(12).replaceAll("<blockquote>", "").replaceAll("</blockquote>", "").replaceAll(" ", "");
	    	String chenlian=b.get(13).replaceAll("<blockquote>", "").replaceAll("</blockquote>", "").replaceAll(" ", "");
	    	String diaoyu=b.get(14).replaceAll("<blockquote>", "").replaceAll("</blockquote>", "").replaceAll(" ", "");
	    	String huachuan=b.get(15).replaceAll("<blockquote>", "").replaceAll("</blockquote>", "").replaceAll(" ", "");
	    	String yuehui=b.get(16).replaceAll("<blockquote>", "").replaceAll("</blockquote>", "").replaceAll(" ", "");
	    	String guangjie=b.get(17).replaceAll("<blockquote>", "").replaceAll("</blockquote>", "").replaceAll(" ", "");
	    	String liangshai=b.get(18).replaceAll("<blockquote>", "").replaceAll("</blockquote>", "").replaceAll(" ", "");
	    	String yusan=b.get(19).replaceAll("<blockquote>", "").replaceAll("</blockquote>", "").replaceAll(" ", "");

	    	String t3="";
	        Pattern p4=Pattern.compile("<dt>(.*?)</dt>.*?target=.*?blank.*?>(.*?)<b\\sclass=.*?>(.*?)</b>");//正则获取网页日出日落信息
	    	//Pattern p1=Pattern.compile("<(/?\\s?br\\b)>");
	        ArrayList<String> c = new ArrayList<String>();
	    	Matcher n2=p4.matcher(t1);
	    	while(n2.find()) {
	    		t3=n2.group(2);
	    		System.out.println(n2.group(3));
	    		String index=t3;
	    		c.add(index);
	    	}
	    	String iguoming=c.get(0).replaceAll(" ", "");
	    	String iwuran=c.get(1).replaceAll(" ", "");
	    	String iganmao=c.get(2).replaceAll(" ", "");
	    	String iziwaixian=c.get(3).replaceAll(" ", "");
	    	String ichuanyi=c.get(4).replaceAll(" ", "");
	    	String ishushi=c.get(5).replaceAll(" ", "");
	    	String ihuazhuang=c.get(6).replaceAll(" ", "");
	    	String imeifa=c.get(7).replaceAll(" ", "");
	    	String ixiche=c.get(8).replaceAll(" ", "");
	    	String ilukuang=c.get(9).replaceAll(" ", "");
	    	String ijiaotong=c.get(10).replaceAll(" ", "");
	    	String ilvyou=c.get(11).replaceAll(" ", "");
	    	String iyundong=c.get(12).replaceAll(" ", "");
	    	String ichenlian=c.get(13).replaceAll(" ", "");
	    	String idiaoyu=c.get(14).replaceAll(" ", "");
	    	String ihuachuan=c.get(15).replaceAll(" ", "");
	    	String iyuehui=c.get(16).replaceAll(" ", "");
	    	String iguangjie=c.get(17).replaceAll(" ", "");
	    	String iliangshai=c.get(18).replaceAll(" ", "");
	    	String iyusan=c.get(19).replaceAll(" ", "");

	    	//System.out.println(iguoming);

		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				if (null != br) {
					br.close();
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
			br = null;

			try {
				if (null != isr) {
					isr.close();
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
			isr = null;

			try {
				if (null != in) {
					in.close();
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
			in = null;
		}

	}
}

输出:

07:32
16:52
天气较好,您在出门的时候无须带雨伞。
            极不易发            
            良            
            易发            
            弱            
            寒冷            
            较不舒适            
            保湿            
            一般            
            较适宜            
            干燥            
            良好            
            一般            
            较不宜            
            较不宜            
            不宜            
            不适宜            
            较不适宜            
            较不宜            
            基本适宜            
            不带伞            
不带伞

时间: 2024-11-03 20:53:09

天气预报 正则获取指数信息 group(0)指数 group(1)概要 group(2)详细指数 代码的相关文章

php结合正则获取字符串中数字

  这篇文章主要给大家汇总介绍了php结合正则获取字符串中数字的几种方法,十分的简单实用,有需要的小伙伴可以参考下. php结合正则获取字符串中数字 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 <?php $patterns = "/d+/"; //第一种 //$patterns = "/d/"; //第二种 $st

正则获取图片地址 链接地址_正则表达式

复制代码 代码如下: reg = /<[img|href][^>]*src\s*=\s*('|")?([^'">]*)\1([^>])*>/ig 正则获取图片地址 一.问题: 采集的过程中遇到一个问题:从数据库里读出来的图片没有正常显示,分析后发现是数据库里的图片以网站根目录为相对路径方式存储,图片地址如:/uploads/allimg/090403/012F31N9-1.jpg,原来做的读取图片是以http://开关的URL绝对图片获取,所以采集中出现以

php结合正则获取字符串中数字_php技巧

php结合正则获取字符串中数字 <?php $patterns = "/\d+/"; //第一种 //$patterns = "/\d/"; //第二种 $strs="left:0px;top:202px;width:90px;height:30px"; preg_match_all($patterns,$strs,$arr); print_r($arr); /***************运行结果*********************

javascript使用正则获取url上的某个参数_javascript技巧

function GetUrlMenuCode() { var url = window.location.href; var parameter = url.substring(url.indexOf('?') + 1); parameter = parameter.split('&'); var reg = /MenuCode=/g; var menuCode = ""; for (var i = 0; i < parameter.length; i++) { reg

PHP正则获取页面所有图片地址_php实例

<?php //取得页面所有的图片地址 function getimages($str) { $match_str = "/((http://)+([^ rn()^$!`"'|[]{}<>]*)((.gif)|(.jpg)|(.bmp)|(.png)|(.GIF)|(.JPG)|(.PNG)|(.BMP)))/"; preg_match_all ($match_str,$str,$out,PREG_PATTERN_ORDER); return $out; }

正则获取图片地址 链接地址

复制代码 代码如下:reg = /<[img|href][^>]*src\s*=\s*('|")?([^'">]*)\1([^>])*>/ig 正则获取图片地址 一.问题: 采集的过程中遇到一个问题:从数据库里读出来的图片没有正常显示,分析后发现是数据库里的图片以网站根目录为相对路径方式存储,图片地址如:/uploads/allimg/090403/012F31N9-1.jpg,原来做的读取图片是以http://开关的URL绝对图片获取,所以采集中出现以根

list怎么遍历不了 只能获取list.get(0)怎么回事

问题描述 list怎么遍历不了 只能获取list.get(0)怎么回事 Query queryRole = getSession().createQuery("select r from RoleUser r where r.userId=:user_id ").setString("user_id",app[i].getUser_id()); List <RoleUser> r = queryRole.list(); for(int j = 0;j&l

javascript-php 正则获取二级域名。

问题描述 php 正则获取二级域名. <a href="xxx.xxx.com">测试</a> <a href="xxx.xxx.com/xxx/">测试2</a> <a href="xxx.xxx.com/aaa/bbb.js?ss=aa">测试3</a> <a href="xxx.xxx.com/xxx/sdadsde.html">测试4&

javascript正则获取img标签alt值代码

在Discuz!可视化编辑器和UBB编辑器之转换的时候,比如本来是  代码如下 复制代码 <img src="http://www.111cn.net /templets/zhuti/img/logo1.jpg" border="0" alt="头像"/> 但是IE给的内容是  代码如下 复制代码 <img alt=头像 src="http://www.111cn.net /templets/zhuti/img/log