<br style="color: #252525">testing 1</br>
<span style="color: font-family: Verdana">testing 2</span>
Dim RegExStr As String = "</?span.*?>"
它应该删除没有文字的完整跨度,但我想只删除样式。
<br>testing</br>
<span>testing 2</span>
请帮助解决这个问题,
答案 0 :(得分:0)
使用此正则表达式替换
(?<=<span[^<>]+)style="[^"]*"(?=[^<>]+>)|</span[^<>]*>
虽然您应该使用html解析器,或者您也可以与DOM交互并删除样式。取决于您的要求和您正在创建的内容
答案 1 :(得分:0)
Freefaller已经说过最重要的规则:不要使用RegEx来操纵Html。一些伟大的思想家为我们开发了HtmlAgilityPack,这使得工作方式更好,并且比RegEx更具可读性。
我无法使用VB.net,但代码看起来与此类似:
foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//span"))
{
node.ParentNode.RemoveChild(node);
}
有关HtmlAgilityPack文章的更全面的概述,请访问: How to use HTML Agility pack
亲切的问候