<%@page contentType="text/html; charset=utf-8" errorPage=""%><%@page import="java.util.regex.Pattern"%><%@page import="java.util.regex.Matcher"%><%out.clear();%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>Parse Central Weather Demo</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head><body><%String str="";String pattern="^([\\D]+)\\d{2}/\\d{2}\\s([\\D]+)\\s([\\D]+)\\s[\\D]+:\\s(\\d{1,3}\\s~\\s\\d{1,3})\\s[\\D]+:\\s(\\d{1,3})%\\((\\d{2}/\\d{2})\\s(\\d{2}:\\d{2})[\\D]+\\)$";Pattern p=null;Matcher m=null;%> 台北市05/01 今晚至明晨 晴時多雲 溫度: 22 ~ 24 降雨機率: 0%(05/01 16:30發布)<br /><%str=" 台北市05/01 今晚至明晨 晴時多雲 溫度: 22 ~ 24 降雨機率: 0%(05/01 16:30發布)";pattern="^[\\D]+\\d{2}/\\d{2}\\s([\\D]+)\\s([\\D]+)\\s[\\D]+:\\s*(\\d{1,3}\\s~\\s\\d{1,3})\\s[\\D]+:\\s*(\\d{1,3})%\\((\\d{2}/\\d{2})\\s(\\d{2}:\\d{2})[\\D]+\\)$";p = Pattern.compile(pattern);m = p.matcher(str.trim());if(m.find()){	for (int i = 1; i <= m.groupCount(); i++) {      out.println("group(" + i + "):" + m.group(i)+"<br />");    }    m.reset();}%><hr />明日白天 晴時多雲 溫度: 24 ~ 28 降雨機率: 0% <br /><%str="明日白天 晴時多雲 溫度: 24 ~ 28 降雨機率: 0% ";pattern="^([\\D]+)\\s([\\D]+)\\s[\\D]+:\\s*(\\d{1,3}\\s~\\s\\d{1,3})\\s[\\D]+:\\s*(\\d{1,3})%$";p = Pattern.compile(pattern);m = p.matcher(str.trim());if(m.find()){	for (int i = 1; i <= m.groupCount(); i++) {      out.println("group(" + i + "):" + m.group(i)+"<br />");    }    m.reset();}%><hr />05/02 溫度:22 ~ 28 晴時多雲<%str="05/02 溫度:22 ~ 28 晴時多雲";pattern="^(\\d{2}/\\d{2})\\s[\\D]+:\\s*(\\d{1,3}\\s~\\s\\d{1,3})\\s([\\D]+)$";p = Pattern.compile(pattern);m = p.matcher(str.trim());if(m.find()){	for (int i = 1; i <= m.groupCount(); i++) {      out.println("group(" + i + "):" + m.group(i)+"<br />");    }    m.reset();}%></body></html>




 



執行結結果:



台北市05/01 今晚至明晨 晴時多雲 溫度: 22 ~ 24 降雨機率: 0%(05/01 16:30發布)
group(1):今晚至明晨
group(2):晴時多雲
group(3):22 ~ 24
group(4):0
group(5):05/01
group(6):16:30




明日白天 晴時多雲 溫度: 24 ~ 28 降雨機率: 0%
group(1):明日白天
group(2):晴時多雲
group(3):24 ~ 28
group(4):0




05/02 溫度:22 ~ 28 晴時多雲group(1):05/02
group(2):22 ~ 28
group(3):晴時多雲



 



 



 



備註:中央氣象局的RSS2.0並不是完全符合W3C的標準,且資料呈現不夠有條理,不易被解析

arrow
arrow
    全站熱搜

    gan068 發表在 痞客邦 留言(0) 人氣()