我有一个大的HTML文件,有很多标记,看起来像这样:

<p class="MsoNormal" style="margin: 0in 0in 0pt;">
  <span style="font-size: small; font-family: Times New Roman;">stuff here</span>
</p>

我试图做一个Vim搜索和替换,以摆脱所有class=""和style=""但我有麻烦使匹配不贪婪。

我的第一次尝试是这样的

%s/style=".*?"//g

但维姆似乎不喜欢?不幸的是,移除?使匹配过于贪婪。

如何让我的火柴不贪婪?


当前回答

vim中的非贪婪搜索是使用{-}操作符完成的。是这样的:

%s/style=".\{-}"//g

试试:

:help non-greedy

其他回答

使用\v(在几个评论中建议)

:%s/\v(style|class)\=".{-}"//g

使用。\{-}代替。*。

%s/style=“.\{-}”//g

另外,看:帮助非贪婪

插件eregex。vim处理perl风格的非贪婪操作符*?和+ ?

vim中的非贪婪搜索是使用{-}操作符完成的。是这样的:

%s/style=".\{-}"//g

试试:

:help non-greedy

怎么了?

%s/style="[^"]*"//g