How can I make my match non greedy in vim?

I have a big HTML file that has lots of markup that looks like this:

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

I'm trying to do a Vim search-and-replace to get rid of all class="" and style="" but I'm having trouble making the match ungreedy.

My first attempt was this

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

but Vim doesn't seem to like the ? . Unfortunately removing the ? makes the match too greedy.

How can I make my match ungreedy?


Instead of .* use .{-} .

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

Also, see :help non-greedy


Non greedy search in vim is done using {-} operator. Like this:

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

just try:

:help non-greedy

怎么了

%s/style="[^"]*"//g
链接地址: http://www.djcxy.com/p/76928.html

上一篇: 使用正则表达式匹配多个匹配项或零(按此顺序)

下一篇: 如何让我的匹配在vim中不贪心?