正则表达式-查找图像元素

时间:2019-01-30 02:37:18

标签: c# regex

我试图使我的正则表达式无法正常工作:

我要做的就是在html字符串中找到图像标签,以便替换它们:

我认为这应该起作用:

var regex = new Regex(@"<img.*>");

return regex.Replace(content, "<p><i><b>(See Image Online)</b></i></p>");

它确实可以部分工作,但它似乎要剥离的不仅仅是图像标签。

这是我要匹配的示例:

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAM0AAAD
 NCAMAAAAsYgRbAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5c
 cllPAAAABJQTFRF3NSmzMewPxIG//ncJEJsldTou1jHgAAAARBJREFUeNrs2EEK
 gCAQBVDLuv+V20dENbMY831wKz4Y/VHb/5RGQ0NDQ0NDQ0NDQ0NDQ0NDQ
 0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0PzMWtyaGhoaGhoaGhoaGhoaGhoxtb0QGho
 aGhoaGhoaGhoaGhoaMbRLEvv50VTQ9OTQ5OpyZ01GpM2g0bfmDQaL7S+ofFC6x
 v3ZpxJiywakzbvd9r3RWPS9I2+MWk0+kbf0Hih9Y17U0nTHibrDDQ0NDQ0NDQ0
 NDQ0NDQ0NTXbRSL/AK72o6GhoaGhoRlL8951vwsNDQ0NDQ1NDc0WyHtDTEhD
 Q0NDQ0NTS5MdGhoaGhoaGhoaGhoaGhoaGhoaGhoaGposzSHAAErMwwQ2HwRQ
 AAAAAElFTkSuQmCC" alt="beastie.png">

1 个答案:

答案 0 :(得分:1)

您需要

new Regex(@"<img.*?>");

(如果支持),如果不支持,

new Regex(@"<img[^>]*>");

您的问题是您的正则表达式与找到的第一个“>”不匹配,而是最后一个。