2011-06-15 38 views
0

我很好奇地發現,提取後的C#正則表達式:正則表達式隔離來自某些示例html的文本?

<a id=sector href="?catid=us-58211593" >Financial</a> 

......從這個網站字符串:

<div class="g-unit g-first">Sector: <a id=sector href="?catid=us-58211593" >Financial</a> &gt; Industry: <a href="?catid=us-64965887" >Misc. Financial Services</a> 

文本 「HREF =」 CATID = US- 58211593" 是不相關的,所以應該在被匹配 「a」 和 「ID =部門」 元素。

更新

的確 - RegEx只是不適合工作的正確工具。只用了3行代碼從HTML Agility Pack以達到所需的結果:

HtmlWeb hw = new HtmlWeb(); 
HtmlDocument myDoc = hw.Load("http://www.google.com/finance?q=IBM"); 
var etc = myDoc.GetElementbyId("sector").InnerText; 
+3

您可能需要一個HTML解析器,因爲有任何數量的引用爲什麼Regex不足以解析HTML。請查看[Html Agility Pack](http://htmlagilitypack.codeplex.com/)。 – lsuarez 2011-06-15 20:17:18

回答

3
+2

ohhhhhhh,你是如此完全正確:-)我很驚訝,仍然有開發人員認爲正則表達式是一個解析HTML的工具。 – 2011-06-15 20:18:12

+2

每次我在一個問題標題中看到「正則表達式」和「HTML」時,我都會在裏面哭一點。 – 2011-06-15 21:02:16