日期:2014-05-18 浏览次数:20778 次
<div class="text"> 2012-02-10 00:18:35 作者:<a href="/member/member.php?username=M-Monroe" class="member_url">琴声水韵</a> 来源:<a href="" target="_blank">新浪网</a> 浏览次数:<span id="hits">628</span> 文字大小:【<a href="javascript:fontZoom(16)">大</a>】【<a href="javascript:fontZoom(14)">中</a>】【<a href="javascript:fontZoom(12)">小</a>】 </div>
string str = @"<div class=""text""> 2012-02-10 00:18:35 作者:<a href=""/member/member.php?username=M-Monroe"" class=""member_url""> 琴声水韵</a> 来源:<a href="""" target=""_blank"">新浪网</a> 浏览次数:<span id=""hits"">628</span> 文字大小:【<a href=""javascript:fontZoom(16)"">大</a>】【<a href=""javascript:fontZoom(14)"">中</a>】【<a href=""javascript:fontZoom(12)"">小</a>】 </div>"; Regex reg = new Regex(@"(?is)<div\s*class=""text"">(.*?)(?:(?: ){2}([^<>]+)<a[^>]*?>\s*(.*?)</a>){2}"); Match m = reg.Match(str); Console.WriteLine(m.Groups[1].Value); for (int i = 0; i < m.Groups[2].Captures.Count; i++) { Console.WriteLine(m.Groups[2].Captures[i].Value); Console.WriteLine(m.Groups[3].Captures[i].Value); } /* 2012-02-10 00:18:35 作者: 琴声水韵 来源: 新浪网 */
------解决方案--------------------
{2}匹配两次
(?:&nsbp;)不捕获这个组