在 vi 中使用正则表达式

在 vi 中使用正则表达式

当我在 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 稍后填充了这些元素。

相关内容