日期:2014-05-18  浏览次数:20484 次

求正则表达式循环提取链接,标题,时间!
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>.*?)""[^>]*><i