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

我需要一个正则表达式模式来查找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


谢谢!


吃鸡游戏
浏览 1508回答 3
3回答

LEATH

regex不建议使用解析htmlregex用于定期发生的模式。html是不是经常与它的格式(除xhtml)。例如html文件,即使你有效不有closing tag!这可能会破坏你的代码。使用像htmlagilitypack这样的html解析器您可以使用以下代码使用以下代码来检索href's锚定标记中的所有内容:HtmlAgilityPackHtmlDocument doc = new HtmlDocument();doc.Load(yourStream);var hrefList = doc.DocumentNode.SelectNodes("//a")&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .Select(p => p.GetAttributeValue("href", "not found"))&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .ToList();hrefList 包含所有href
打开App,查看更多内容
随时随地看视频慕课网APP