有时候我们能获得一些网页源码,我们想从中分离出来一些网址,比如下面的代码,我们想将其中的网址分离出来,也就是将a标签的href属性分离出来,我们使用c#如何实现呢?
<ul>
<li><a href=" http://www.ilcng.com/aspnet/n324.html">asp.net c#根据网址获得文件名,C#根据url获得文件名</a></li>
<li><a href=" http://www.ilcng.com/pc/n323.html">谷歌浏览器刷新所有标签</a></li>
<li><a href=" http://www.ilcng.com/electronic/n322.html">如何让PCB中的元器件以任意角度旋转?</a></li>
<li><a href=" http://www.ilcng.com/aspnet/n321.html">asp.net SqlParameter的Like传参数无效</a></li>
<li><a href=" http://www.ilcng.com/aspnet/n320.html">access一更新就 不可识别的数据库格式</a></li>
<li><a href=" http://www.ilcng.com/web/n319.html">position: absolute;绝对定位水平居中问题</a></li>
<li><a href=" http://www.ilcng.com/electronic/n318.html">美的电磁炉内部结构</a></li>
<li><a href=" http://www.ilcng.com/aspnet/n317.html">asp.net C#判断中文字符,判断是否有汉字</a></li>
<li><a href=" http://www.ilcng.com/aspnet/n316.html">asp.net C# 生成解决方案时生成的obj文件夹</a></li>
<li><a href=" http://www.ilcng.com/aspnet/n315.html">asp.net引用一个第三方dll,当调用里面的静态函数时死活不行</a></li>
<li><a href=" http://www.ilcng.com/pc/n314.html">windows 7 ISB/DVD tool制作u盘启动出错</a></li>
</ul>
将上面的代码放在TextBox1中,然后再添加一个按钮,在事件里写上下面的代码。就可以了。当然还要添加一个TextBox2啦,TextBox2用于显示结果。
<li><a href=" http://www.ilcng.com/aspnet/n324.html">asp.net c#根据网址获得文件名,C#根据url获得文件名</a></li>
<li><a href=" http://www.ilcng.com/pc/n323.html">谷歌浏览器刷新所有标签</a></li>
<li><a href=" http://www.ilcng.com/electronic/n322.html">如何让PCB中的元器件以任意角度旋转?</a></li>
<li><a href=" http://www.ilcng.com/aspnet/n321.html">asp.net SqlParameter的Like传参数无效</a></li>
<li><a href=" http://www.ilcng.com/aspnet/n320.html">access一更新就 不可识别的数据库格式</a></li>
<li><a href=" http://www.ilcng.com/web/n319.html">position: absolute;绝对定位水平居中问题</a></li>
<li><a href=" http://www.ilcng.com/electronic/n318.html">美的电磁炉内部结构</a></li>
<li><a href=" http://www.ilcng.com/aspnet/n317.html">asp.net C#判断中文字符,判断是否有汉字</a></li>
<li><a href=" http://www.ilcng.com/aspnet/n316.html">asp.net C# 生成解决方案时生成的obj文件夹</a></li>
<li><a href=" http://www.ilcng.com/aspnet/n315.html">asp.net引用一个第三方dll,当调用里面的静态函数时死活不行</a></li>
<li><a href=" http://www.ilcng.com/pc/n314.html">windows 7 ISB/DVD tool制作u盘启动出错</a></li>
</ul>
将上面的代码放在TextBox1中,然后再添加一个按钮,在事件里写上下面的代码。就可以了。当然还要添加一个TextBox2啦,TextBox2用于显示结果。
string str = TextBox1.Text;
Regex reg = new Regex(@"(?is)<a(?:(?!href=).)*href=(['""]?)(?<url>[^""\s>]*)\1[^>]*>(?<text>(?:(?!</?a\b).)*)</a>");
MatchCollection mc = reg.Matches(str);
foreach (Match m in mc)
{
TextBox2.Text += m.Groups["url"].Value + "\n";
TextBox3.Text += m.Groups["text"].Value + "\n";
}