首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

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

2012-04-21 
请教正则表达式,匹配链接文本HTML codediv classtext 2012-02-10 00:18:35作者:a href/member/mem

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

HTML code
<div class="text"> 2012-02-10 00:18:35&nbsp;&nbsp;作者:<a href="/member/member.php?username=M-Monroe" class="member_url">琴声水韵</a>&nbsp;&nbsp;来源:<a href="" target="_blank">新浪网</a>&nbsp;&nbsp;浏览次数:<span id="hits">628</span>&nbsp;&nbsp;文字大小:【<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 作者:琴声水韵 来源:新浪网

[解决办法]
这不应该是正则表达式的问题
既然想把数据取出来,存储的时候就应该存成好获取的,每个数据分别存在一个标签了,带上id或clsaa属性
[解决办法]
C# code
            string str = @"<div class=""text""> 2012-02-10 00:18:35&nbsp;&nbsp;作者:<a href=""/member/member.php?username=M-Monroe"" class=""member_url"">琴声水韵</a>&nbsp;&nbsp;来源:<a href="""" target=""_blank"">新浪网</a>&nbsp;&nbsp;浏览次数:<span id=""hits"">628</span>&nbsp;&nbsp;文字大小:【<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"">(.*?)(?:(?:&nbsp;){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;)不捕获这个组

热点排行