现在的位置: 首页 > 综合 > 正文

爬天气预报的正则表达式【雏形】(来字WW.YESUR.COM)

2013年09月08日 ⁄ 综合 ⁄ 共 934字 ⁄ 字号 评论关闭

//test Regex
   string content = "";
   string outHtml = "";
   Regex regex;
   Match mc;
   StreamReader sr = new StreamReader("c://a.txt",System.Text.Encoding.GetEncoding("gb2312"));
   content = sr.ReadToEnd();
   content = content.Replace("/"","'");
   
   //开始用正则表达式取出图片文件名

    //regex = new Regex("class=/"text02/">(?<CityName>.*)</div>");
   regex = new Regex(@"(/s*)<td width='105' bgcolor='F6F6F6' class='text02'>(/s*)(?<CityName>.*)(/s*)</td>(/s*)<td width='55' align='center' bgcolor='F6F6F6'>(/s*)(?<weather>.*)(/s*)</td>",RegexOptions.Compiled);

   outHtml += "<table widht=100% border=1 bgcolor=d7d7d7>";
   outHtml += "<tr><td colspan=10>test</td></tr>";
   for (mc = regex.Match(content); mc.Success; mc = mc.NextMatch())
   {
    outHtml += "<tr><td>城市:</td><td>" + mc.Groups["CityName"].Value + "</td><td>" + mc.Groups["weather"].Value + "</d></tr>";
   }
   outHtml += "</table>";

   Response.Write(outHtml);

 

*******************************

关键的一个地方是:

<tr><td>之间必须用(/s*)来表示,这个表示无限个空格,否则匹配不到,COOL

【上篇】
【下篇】

抱歉!评论已关闭.