中央氣象局 RSS 解析正規式 Regex



<%@page contentType="text/html; charset=utf-8" errorPage=""%>
<%@page import="java.util.regex.Pattern"%>
<%@page import="java.util.regex.Matcher"%>
<%
out.clear();
%>

<title>Parse Central Weather Demo</title>




<%
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發布)

<%
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)+"
");
    }
    m.reset();
}
%>
<hr /> 明日白天 晴時多雲 溫度: 24 ~ 28 降雨機率: 0% 

<%
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)+"
");
    }
    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)+"
");
    }
    m.reset();
}
%>

留言