Html regEx-regExp | tag-在

Html regEx-regExp | tag-在,html,regex,vb.net,Html,Regex,Vb.net,我正在搜索匹配2个标记之间的所有内容HTML解析对于regex来说有点棘手,但这在许多情况下都应该有效: <a\s.*?href\s*=\s*"appLink"[^>]*>(.|\s)*?</a> 这将使用href=appLink匹配元素 您可能想考虑使用.NET XML解析代码。 <a.*</a> 或 这将为您解决问题:这里更好的方法是使用HTML解析器。例如: 如果需要,您还可以获取每个链接的HTML,但链接已经是您需要的集合 IEnume

我正在搜索匹配2个标记之间的所有内容HTML解析对于regex来说有点棘手,但这在许多情况下都应该有效:

<a\s.*?href\s*=\s*"appLink"[^>]*>(.|\s)*?</a>
这将使用href=appLink匹配元素

您可能想考虑使用.NET XML解析代码。

<a.*</a>


这将为您解决问题:这里更好的方法是使用HTML解析器。例如:

如果需要,您还可以获取每个链接的HTML,但链接已经是您需要的集合

IEnumerable<string> appLinks = links.Select(link => link.InnerHtml);

这里的代码是C,但它应该很容易翻译成VB.Net

您想提取什么?xxxxx?可能只是一个小标记注释的副本,xxxx不正确。换行符必须始终是这样的:抱歉,我想说:xxxxI想要所有带有class=appLink的标记A我想要所有带有class=appLink的标记A,所以如果是这样,我还想要标记。。。你们能给我一些关于XML解析器类的信息吗?我有一条远程的新线路,这样就可以了。。。但我希望执行此操作时只有…href=appl。。。或者…href=laun!非常感谢你的到来。问题是,如果一个使用webBrowser的作品,我不能或者我不知道如何加入我的httprequest到这个webBrowser中,因为cookies丢失了,所以webBrowser再次请求身份验证。谢谢你的解决方案。我已经尝试过XML解析器,但是页面无效,所以我有很多错误:@yrejk-我不确定我是否理解。你已经有HTML了,不是吗?你在上面使用正则表达式。Agility Pack可以从字符串中获取HTML,您不必从浏览器或web请求中加载它。@yrejk这里的要点是,您可以使用HTML字符串实例化HtmlDocument,在使用WebBrowser获取HTML数据后,甚至不需要再次从web获取数据。
<a class="applink".*</a>
HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load("http://jsbin.com/enico4/"); // this works!
HtmlNodeCollection links = doc.DocumentNode.SelectNodes("//a[@class='appLink']");
IEnumerable<string> appLinks = links.Select(link => link.InnerHtml);