src de la etiqueta de imagen usando Regex

necesito encontrar el primero img etiqueta src mediante el uso expresiones regulares a la siguiente cadena. Como hacer eso ?

><div dir="ltr" style="text-align: left;" trbidi="on"><div class="MsoNormal"
 style="background: white; line-height: 15.0pt; margin-bottom: .0001pt; margin-bottom: 0in; mso-outline-level: 2; vertical-align: baseline;"><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-c-ugY7XUnYo/UoJtj0dzvKI/AAAAAAAAACA/qWtvYnP9wfc/s1600/Screen+shot+2013-11-12+at+10.03.25+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="257" src="http://1.bp.blogspot.com/-c-ugY7XUnYo/UoJtj0dzvKI/AAAAAAAAACA/qWtvYnP9wfc/s320/Screen+shot+2013-11-12+at+10.03.25+AM.png" width="320" /></a></div><h4><span style="background-color: transparent;">With over 150,000 pet care professionals in the United States, your ability to differentiate your business is critical to long-term sustainable growth.  By focusing on the customer experience you can gain the loyalty of prospective pet parents and continue to thrive with your current pack.</span><span style="background-color: transparent;">  </span><span style="background-color: transparent;">Below are 5 ways to differentiate your pet business so you have a leg up on your local competitors.</span></h4></div><div class="MsoNormal"><div

preguntado el 12 de febrero de 14 a las 07:02

2 Respuestas

No use Regex para analizar html. Use un analizador html real como HtmlAgilityPack

var html = WebUtility.HtmlDecode(yourtext);
var doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);
var urls = doc.DocumentNode.SelectNodes("//img[@src]")
              .Select(img => img.Attributes["src"].Value)
              .ToList(); 

respondido 28 nov., 17:17

Acepto no analizar html usando Regex. Pero en este caso simple, Regex puede ser útil y práctico. - Johnny

Prueba esta

<img.+?src=[\"'](.+?)[\"'].*?>

string src = Regex.Match(original_text, "<img.+?src=[\"'](.+?)[\"'].*?>", RegexOptions.IgnoreCase).Groups[1].Value;

Demostración de expresiones regulares

Respondido 12 Feb 14, 07:02

Tienes que escapar < y > por barras invertidas, así que en lugar de "<" tienes que poner "\\<". - Georg

Fantástico. Está funcionando. También me gustaría aprender Regex como tú. ¿Podrías decirme por dónde debo empezar? Muchas gracias. :) - Sampath

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.