regEx - regExp |标记<a> </a> - 其他标记之间

时间:2010-12-22 13:02:08

标签: html regex vb.net

我正在搜索匹配2个标记<a</a>

之间的所有内容

我的页面总是一样的,

<a class="applink" href="myLINK" target="..." onClick="..."><img src="..." border="0" alt="..." title="..." align=bottom hspace=3 width="32" height="32"><br>xxxxx</br></a>

想要匹配html代码的所有部分,其中代码就像这样。

所以<a class="applink" [...] </a>(!!!!标签<img例如 - &gt;没有[^&gt;] *)

4 个答案:

答案 0 :(得分:2)

这里更好的方法是使用HTML解析器。例如,Html Agility Pack

HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load("http://jsbin.com/enico4/"); // this works!
HtmlNodeCollection links = doc.DocumentNode.SelectNodes("//a[@class='appLink']");

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

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

(这里的代码是C#,但它应该很容易转换为VB.Net)

答案 1 :(得分:1)

使用正则表达式进行HTML解析有点棘手,但这应该适用于很多情况:

<a\s.*?href\s*=\s*"appLink"[^>]*>(.|\s)*?</a>

这将使用href =“appLink”匹配元素。

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

答案 2 :(得分:0)

这应该为您解决:<a .*?</a>

这不会影响&lt; address&gt;,&lt; abbr&gt;等标签...

答案 3 :(得分:-1)

<a.*</a>

OR

<a class="applink".*</a>