正则表达式截取字符串问题~~~~~急

zhanglixue 2008-07-08 08:50:57
我有这样一个程序,遍历HTML文档中的内容,把所有链接信息都获取出来然后判断链接地址的有效性。如<a href="/aa/aa.html"></a>我用正则取出了href部分然后在判断链接地址的有效性,但有一种情况不知道该如何实现就是当href部分是脚本打开某个页面,比如<a href="window.open('/aa/aa.html','','')"></a>我该怎样取里边的链接地址呢?
...全文
118 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
我很懒 2008-07-08
  • 打赏
  • 举报
回复
href=\"(window\.open\(')?(?<url>[^\"\']+)
建议下载我的C#获取网页纯文本。
hackztx 2008-07-08
  • 打赏
  • 举报
回复
string str="你请求的网址";
string str2=gethtml(str);//得到原代码
string strmp=string.empty;
matchcollection mc=regex.matches(str2,"href=['"]?(.*?)['" ]");
foreach(match m in mc)
{
str2=m.groups[1].value;
if(!str2.startwith("http"))
{
str2=str+str2;//这里可以指定一套算法,过滤掉./如果是../那么remove最后一段/开头
然后请求str2,如果发现错误,link失效!
}
}
家鸣 2008-07-08
  • 打赏
  • 举报
回复
取URL组

href=\"(window\.open\(')?(?<url>[^\"\']+)

110,580

社区成员

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

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

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