请教正则表达式,匹配链接文本

sh1618 2012-02-20 01:15:39


<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>


匹配结果是:时间 :2012-02-10 00:18:35 作者:琴声水韵 来源:新浪网
...全文
108 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangwenquan123 2012-02-20
  • 打赏
  • 举报
回复
{2}匹配两次
(?:&nsbp;)不捕获这个组
sh1618 2012-02-20
  • 打赏
  • 举报
回复
?:  和{2} 什么意思
huangwenquan123 2012-02-20
  • 打赏
  • 举报
回复
            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
作者:
琴声水韵
来源:
新浪网
*/
色拉油 2012-02-20
  • 打赏
  • 举报
回复
这不应该是正则表达式的问题
既然想把数据取出来,存储的时候就应该存成好获取的,每个数据分别存在一个标签了,带上id或clsaa属性

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧