我正在搜索匹配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;] *)
答案 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>