当我在 Google Blogger 中撰写博客文章时,很多如下所示的条目会插入到 HTML 中(不知道为什么)。
<span id="textmarked_8" name="textmarker_9" style="background-color: yellow;"></span>
我该如何删除它们?请注意,数字 8 和 9 必须用某个正则表达式替换。我在 vi 中寻找命令或其他一些简单命令。顺便说一句,我正在使用 Ubuntu。
谢谢。
答案1
你确实应该使用 HTML 解析器而不是正则表达式(请参阅过去的答案关于这个主题)。
但是如果 XML 具有完全可预测的内容和格式,则可以使用类似
:%s/<span[^>]*><\/span>//
(未经测试)此处的重点是,它会测试恰好位于同一行的空 span 元素。如果不需要的 span 元素总是从新行的开头开始,您可以在开头添加插入符号 (^)。
如果你想匹配id="textmarked_[0-9]*
,你可以这样做,但我怀疑这没有必要。任何空的 span 元素可能都没有任何用处,无论其属性如何。我能想到的唯一例外是如果某个 javascript 稍后填充了这些元素。