2011-07-27 39 views
8

鑑於我有以下字符串:字符類中的範圍 - VIM

This is a test {{ string.string.string }}. 

並嘗試執行以下替換:

%s/{{ [\w\.]\+ }}/substitute/g 

它不會有錯誤的工作:模式未找到。

當我使用:

%s/{{ [a-zA-Z\.]\+ }}/substitute/g 

它的工作原理。

有沒有辦法在VIM中的範圍中使用元字符類?

回答

6

您可以使用:

  • 非捕獲子表達式,見:help E53(你可以使用一個捕獲子表達式爲好,\(\),但捕獲的開銷也沒用)

    %s/{{ \%(\w\|\.\)\+ }}/substitute/g 
    
  • 任選匹配原子的序列 - \%[],見:help E70

    %s/{{ \%[\w\.]\+ }}/substitute/g