为了账号安全,请及时绑定邮箱和手机立即绑定

查找<a>链接的'href'值的正则表达式

查找<a>链接的'href'值的正则表达式

吃鸡游戏 2019-10-12 10:11:44
我需要一个正则表达式模式来查找HTML中的网页链接。我首先使用@"(<a.*?>.*?</a>)"提取链接(<a>),但无法从中获取链接href。我的字符串是:<a href="www.example.com/page.php?id=xxxx&name=yyyy" ....></a><a href="http://www.example.com/page.php?id=xxxx&name=yyyy" ....></a><a href="https://www.example.com/page.php?id=xxxx&name=yyyy" ....></a><a href="www.example.com/page.php/404" ....></a>1,2和3是有效的,我需要他们,但4号是无效的,我(?和=是必不可少的)谢谢大家,但是我不需要解析<a>。我有href="abcdef"格式的链接列表 。我需要获取href链接并对其进行过滤,我最喜欢的网址必须包含?和=喜欢page.php?id=5谢谢!
查看完整描述

3 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

regex不建议使用解析html


regex用于定期发生的模式。html是不是经常与它的格式(除xhtml)。例如html文件,即使你有效不有closing tag!这可能会破坏你的代码。


使用像htmlagilitypack这样的html解析器


您可以使用以下代码使用以下代码来检索href's锚定标记中的所有内容:HtmlAgilityPack


HtmlDocument doc = new HtmlDocument();

doc.Load(yourStream);


var hrefList = doc.DocumentNode.SelectNodes("//a")

                  .Select(p => p.GetAttributeValue("href", "not found"))

                  .ToList();

hrefList 包含所有href


查看完整回答
反对 回复 2019-10-12
  • 3 回答
  • 0 关注
  • 1414 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信