读书人

求正则表达式循环提取链接标题时间

发布时间: 2012-03-20 14:01:10 作者: rapoo

求正则表达式循环提取链接,标题,时间!

HTML code
<li><a href="链接"alt="标题"><img alt="标题" src="c.gif" width="6" height="7"/>标题</a><span class="list_content_time">时间</span><span class="list_content_read">点击</span></li><li><a href="链接"alt="标题"><img alt="标题" src="c.gif" width="6" height="7"/>标题</a><span class="list_content_time">时间</span><span class="list_content_read">点击</span></li><li><a href="链接"alt="标题"><img alt="标题" src="c.gif" width="6" height="7"/>标题</a><span class="list_content_time">时间</span><span class="list_content_read">点击</span></li><li><a href="链接"alt="标题"><img alt="标题" src="c.gif" width="6" height="7"/>标题</a><span class="list_content_time">时间</span><span class="list_content_read">点击</span></li>



请教以上内容如何用正则表克式循环提取所有的链接、标题、时间?

以前我提取是这样提取的
C# code
                Regex reg = new Regex(@"(?is)<a(?:(?!href=).)*href=(['""]?)(?<url>[^""\s>]*)\1[^>]*>(?<text>(?:(?!</?a\b).)*)</a>");                MatchCollection mc = reg.Matches(li.OuterHtml);                foreach (Match m in mc)                {        string url = m.Groups["url"].Value;                    string c = Type(m.Groups["text"].Value).ToString();                    }                }


但现在正则试不对了,也循环不了,求教!

[解决办法]
C# code
        string s = @"<li><a href=""链接""alt=""标题""><img alt=""标题"" src=""c.gif"" width=""6"" height=""7""/>标题</a><span class=""list_content_time"">时间</span><span class=""list_content_read"">点击</span></li><li><a href=""链接""alt=""标题""><img alt=""标题"" src=""c.gif"" width=""6"" height=""7""/>标题</a><span class=""list_content_time"">时间</span><span class=""list_content_read"">点击</span></li><li><a href=""链接""alt=""标题""><img alt=""标题"" src=""c.gif"" width=""6"" height=""7""/>标题</a><span class=""list_content_time"">时间</span><span class=""list_content_read"">点击</span></li><li><a href=""链接""alt=""标题""><img alt=""标题"" src=""c.gif"" width=""6"" height=""7""/>标题</a><span class=""list_content_time"">时间</span><span class=""list_content_read"">点击</span></li>";        MatchCollection matches = Regex.Matches(s, @"(?is)<li><a href=""(?<href>.*?)""[^>]*><img[^>]*/>(?<title>.*?)</a><span[^>]*>(?<time>.*?)</span>.*?</li>");        foreach (Match match in matches)        {            Response.Write(match.Groups["href"].Value + "<br/>");            Response.Write(match.Groups["title"].Value + "<br/>");            Response.Write(match.Groups["time"].Value + "<hr/>");        } 

读书人网 >asp.net

热点推荐