2011-07-27 10 views
8

Dado que tengo la siguiente cadena:clases de personajes de rangos - vim

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

y tratar de realizar la siguiente sustitución:

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

no funcionará con el error: Patrón no encontrados.

Cuando uso:

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

Funciona.

¿Hay una manera de utilizar los caracteres clases meta en rangos en VIM?

Respuesta

6

que puede utilizar:

  • Una captura no sub-expresión, ver :help E53 (se puede utilizar una captura de sub-expresión, así, \(\), pero la sobrecarga de captura es inútil)

    %s/{{ \%(\w\|\.\)\+ }}/substitute/g 
    
  • Una secuencia de átomos opcionalmente emparejados - \%[], ver :help E70

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