在C#中,我有以下正则表达式从字符串中删除HTML:
var regex = new Regex("<[^>]*(>|$)");
return regex.Replace(input, match => "");
在某些情况下,我们需要允许加倍>>
和<<
。
如何更改上面的表达式以简单地跳过这些双角度括号?
答案 0 :(得分:1)
不确定为什么最后的$也在那里,但无论如何...... negative lookahead and lookbehind可以解决这个问题:
Regex regex = new Regex("(?<![<])<[^<>]+>(?![>])");
return regex.Replace(input, String.Empty);
这将匹配任何&lt;不是先于另一个&lt;,然后是内容,然后是任何&gt;没有跟着另一个&gt;。