正则表达式删除HTML但有例外

时间:2016-03-16 20:19:10

标签: c# html regex

在C#中,我有以下正则表达式从字符串中删除HTML:

var regex = new Regex("<[^>]*(>|$)");
return regex.Replace(input, match => "");

在某些情况下,我们需要允许加倍>><<。 如何更改上面的表达式以简单地跳过这些双角度括号?

1 个答案:

答案 0 :(得分:1)

不确定为什么最后的$也在那里,但无论如何...... negative lookahead and lookbehind可以解决这个问题:

Regex regex = new Regex("(?<![<])<[^<>]+>(?![>])");
return regex.Replace(input, String.Empty);

这将匹配任何&lt;不是先于另一个&lt;,然后是内容,然后是任何&gt;没有跟着另一个&gt;。