2011-11-23 3 views
3

에서 IMG 소스를 추출하기 위해이 같은 문자열을 가지고 :정규식 문자열

<img width="1" height="1" alt="" src="http://row.bc.yahoo.com.link"> 

나는 그것의 SRC 부분을 추출하기 위해 C#으로 작성해야한다 무엇 정규식?

+0

지금까지 무엇을 생각해 냈습니까? –

답변

4

당신은 HTML Agility Pack 같은 HTML 파서를 사용하는 것이 더 낫다.

샘플 :

var doc = new HtmlDocument(); 

doc.LoadHtml(
    "<img width=\"1\" height=\"1\" alt=\"\" src=\"http://row.bc.yahoo.com.link\">"); 

var anchor = doc.DocumentNode.Element("img"); 

Console.WriteLine(anchor.Attributes["src"].Value); 

업데이트 : 이미 HTML 민첩성 팩을 사용하고 당신이 그들을 반복하고 접근 할 필요가 XPath를 사용하여 문서의 모든 img 태그를 선택한 경우 src 속성 :

var imgs = doc.DocumentNode.SelectNodes("//img/@src"); 

foreach (var node in imgs) 
{ 
    Console.WriteLine(node.Attributes["src"].Value); 
} 
+0

Agillity Pack을 사용하고 XPath를 사용하여 // img/@ src와 일치하는 노드를 선택합니다. 하지만 일단 내가 그 노드에서 src를 추출하고 싶습니다. 나는 정규 표현식을 사용해서 그것을 할 수 없다. – Ghita

+0

Agillity Pack으로 얻은 노드를 이미 가지고 있으므로 정규 표현식을 사용할 필요가 없습니다. – Ghita

3

이 패턴이 작동합니다 (최종 결과는 "http://row.bc.yahoo.com.link"이어야 함) : src="([^"]*)". 당신이 HTML을 처리하는 경우

+0

이 작동하지만 HTML 민첩성 팩을 사용할 때 제공되는 솔루션이 가장 좋습니다. Tnx – Ghita