2015-09-15 34 views
1

我是新來的正則表達式(C#)。我需要從HTML文檔中獲取品牌名稱。我正在使用如何編寫高級正則表達式?

MatchCollection m1 = Regex.Matches(html,"<td>.+?</td>",RegexOptions.Singleline); 

並且結果是108行類似於以下內容。在這種情況下,每個包含不同品牌的宏碁。

<td><a href=acer-phones-59.php> 
<img src="http://cdn2.gsmarena.com/vv/logos/lg_acer.gif" 
width=92 height=22 border=0 alt="Acer"></a></td> 
<td><a href=acer-phones-59.php>Acer phones (89)</a></td> 

我只需要單詞「acer」一次,而「acer-phones-59.php」只需要一次。 如何調整我的表情以便從每一行中獲取品牌名稱和參考名稱。任何幫助將不勝感激,謝謝。

+2

當你等待某人寫你的正則表達式時,你應該閱讀下面的內容:http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454 #1732454 – dognose

+0

使用HlmlagilityPack。儘管如果你想操作HTML代碼,它有一些特殊的錯誤,但對於Web抓取來說它是非常可靠的。 –

+0

只是供參考:沒有人能夠回答你的問題。修改它,指定如何檢測包含所需文本的元素,然後可能會有答案。 –

回答

-1
Regex.Matches(inputString, @"<td>(.|\n)+?href=(.+?)>(.|\n)+?alt="(.+)"", RegexOptions.None) 

答案在Group2和Group4中。