使用正则表达式从字符串中删除break标记

时间:2013-04-18 20:54:42

标签: sql regex

这样可以很好地从字符串/数据库文本类型字段中删除所有html,如何省略中断标记:

update hazHRA set identityRisk=dbo.RegexReplace('<(?:[^>''"]*|([''"]).*?\1)*>',
'',identityRisk,1,1);

我希望保留

<br> 

1 个答案:

答案 0 :(得分:1)

这应该做的工作:

(?i)<(?:(?!br>|br/>)[^>'"]*|(['"]).*?\1)*>

(?i):不区分大小写。

(?!br&gt; | br /&gt;):否定前瞻。

Online demo


如果你可以在前瞻中使用量词,你可以使用它:

(?i)<(?:(?!br\s*>|br\s*/>)[^>'"]*|(['"]).*?\1)*>

这将确保<br >与空格不匹配。

Online demo