我該如何使個人比賽在vim中變得不貪心?

我有一個很大的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=""可是我很難使比賽變得不愉快。 vim

個人第一次嘗試是 ide

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

可是Vim彷佛不喜歡? 。 不幸地刪除? 使比勝過於貪婪。 工具

如何使個人比賽不愉快? 學習


#1樓

怎麼了spa

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

#2樓

我發現,針對此類問題的一個好的解決方案是: code

:%!sed ...

(若是願意,也能夠使用perl)。 IOW而不是學習vim的正則表達式特性,而是使用您已經知道的工具。 使用perl會使? 修改器工做以使匹配不滿意。 regexp


#3樓

G'day, orm

Vim的正則表達式處理不太出色。 我發現sed的regexp語法與vim功能的正確匹配有關。 get

我一般將搜索突出顯示設置爲(:set hlsearch),而後在輸入斜線後進入搜索模式,而後使用正則表達式。

編輯:馬克,Dale Dougherty的出色著做「 Sed&Awk」(通過消毒的Amazon連接 )也介紹了最小化貪婪匹配的技巧。

第三章「瞭解正則表達式語法」是對sed和awk涉及的更原始的正則表達式功能的出色介紹。 只有簡短的閱讀,強烈建議。

高溫超導

乾杯,


#4樓

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

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

另請參閱:help non-greedy


#5樓

vim中的非貪婪搜索是使用{-}運算符完成的。 像這樣:

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

你試一試:

:help non-greedy
相關文章
相關標籤/搜索