正则表达式陷阱img标签,两个版本

mrb*_*lah 2 c# regex

我需要从文本中删除图像标记,因此标记的两个版本:

<img src="" ... ></img>


<img src="" ... />
Run Code Online (Sandbox Code Playgroud)

Rom*_*man 6

在C#中,您可以使用以下代码:

            string html = @"
<h1>
<img src="" ... >
</img>
<img></img>-bad
<img/>-bad
<img src="" ... />
</h1>";
            string result = Regex.Replace(html, @"<img\s[^>]*>(?:\s*?</img>)?", "", RegexOptions.IgnoreCase);
Run Code Online (Sandbox Code Playgroud)

但请注意,使用Regex修改HTML并不是一种好方法,使用Html Agility Pack 或其他HTML解析器会更好.