我有一个 vb.net 类,它在通过电子邮件发送结果之前清理一些 html。
这是我需要删除的一些 html 的示例:
<div class="RemoveThis">
Blah blah blah<br />
Blah blah blah<br />
Blah blah blah<br />
<br />
</div>
我现在已经在使用 RegEx 来完成我的大部分工作。 将上面的 block 替换为空的 RegEx 表达式会是什么样子?
我尝试了以下方法,但有些地方不对:
'html has all of my text
html = Regex.Replace(html, "<div.*?class=""RemoveThis"">.*?</div>", "", RegexOptions.IgnoreCase)
谢谢。
最佳答案
添加单行选项:
html = Regex.Replace(html, "<div.*?class=""RemoveThis"">.*?</div>", "", RegexOptions.IgnoreCase Or RegexOptions.Singleline)
来自 MSDN :
Singleline: Specifies single-line mode. Changes the meaning of the dot (.) so it matches every character (instead of every character except \n).
PS:用正则表达式解析HTML是discouraged .你的代码会因为这样的事情而失败:
<div class="RemoveMe">
<div>bla</div>
<div>bla</div>
</div>
关于c# - 如何编写多行 RegEx 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2049553/