日期:2014-05-17  浏览次数:20419 次

用正则表达式匹配div里href和span时间
<div class="listboxmain">
<div class="list2012"><b><a href="/31/20130326/3107_1154331.shtml"  target="_blank" title="尿素工业肥利好支撑或低于预期"><font>[化肥]</font> 尿素工业肥利好支撑或低于预期</a></b><span>2013-3-26 9:31:37</span></div>
<div class="listcon">近一段时间以来,国内尿素行情持续低迷,价格更是频繁的涨跌交替缺乏常性。业内信心也在这一次次的行情起伏中接受着冲击,以至于经销商反复采用逆向思维方式进行操作。</div>
</div>

class为listboxmain何list2012在目标页面只有5行。需得到那5行。这是其中的一行.
如题、

------解决方案--------------------
(?is)<div[^>]*?class="listboxmain"[^>]*?>\s*<div[^>]*?class="list2012"[^>]*?>.*?<a\s*href="(?<href>[^>]*?)"[^>]*?>.*?<span>(?<span>.*?)</span>

------解决方案--------------------
 string content = @"<div class=""list2012""><b><a href=""/31/20130326/3107_1154331.shtml""  target=""_blank"" title=""尿素工业肥利好支撑或低于预期""><font>[化肥]</font> 尿素工业肥利好支撑或低于预期</a></b><span>2013-3-26 9:31:37</span></div>";
            var txt = Regex.Matches(content, "<div class=\"list2012\"><b><a href=\"(.*?)\".*<span>(.*?)</span></div>").OfType<Match>().Select(x => "div=" + x.Groups[1] + "\r\n span=" + x.Groups[2]);
            foreach (var item in txt)
            {
                Console.WriteLine(item);
            }
            Console.Read();