xml - Vim 中匹配属性和值的正则表达式

标签 xml regex vim

一直在到处寻找这个。假设我有一个像这样的 XML block :

<leftcol>
    <block icon="tips" text="Is it right for you?" url="/support/feasibility.html" link="Feasibility              evaluation"/>
    <block icon="question" text="Interested?" url="/support/question.html" link="Ask a question"/>
    <block icon="docs" text="Want some details?" url="/docs/" link="View documentation"/>
    <block icon="box" text="Like It?" url="/purchase.html" link="Purchase online"/>
</leftcol>

我想使用 Vim 快速跳转到(或删除)属性及其值。执行此操作的良好正则表达式是什么?

我尝试了明显的 /.*=".*?" 但它太贪婪了——如果我在同一行上有两个属性,它就会选择它们。

任何帮助将不胜感激。我专门寻找正则表达式而不是插件。

最佳答案

在 vim 中非贪婪运算符是 \{-} 因此你可以搜索:

/ [a-z]\{-}=

匹配每个属性的 LHS。

更新:基于以下 OP 的评论:

使用以下非贪婪搜索模式来搜索/匹配属性,完全假设 " 已在属性的 RHS 上的任何位置使用:

/[a-z]\{-}="[^"]\{-}"

要将光标移动到搜索模式的开头,请使用:

//

要将光标移动到搜索模式的末尾,请使用:

//e

最后要删除整个搜索模式,请使用:

d///e

关于xml - Vim 中匹配属性和值的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6458187/

相关文章:

c# - 如何在 C# 中导入原始 RSS 提要?

php - 使用 PHP 搜索包含值数组的字符串

ruby - if 语句中 grep 返回值的赋值

javascript - 使用正则表达式将字符串转换为 JavaScript 数组

vim - 如何使用:undolist feature in vim?

c++ - TinyXML2 - 在 XML 中间插入元素

Java JAXB - 使用重启逻辑编写 XML 文件

security - 粘贴时退出 Vim 插入模式

vim - 如何将 vim 设置为与打开的文件具有相同的制表符和空格约定?

android - 为什么要将扩展的 ImageView 转换为 ImageView?