VIM procura e substitui

2

Estou tentando usar um regex para pesquisar / substituir um padrão / substituição / no vim.

Eu tenho um arquivo Java que está tentando verificar se uma variável de dados climáticos está definida e se é fazer uma coisa, se não omitir que ela seja processada no formato JSON. Eu escrevi um método em uma classe diferente (chamado StumpJunk.isSet - funciona exatamente como o PHP isset verificando se nulo ou vazio)

O jeito antigo que eu estava fazendo era     if (varName! = null)

O novo padrão que eu quero que seja é     if (StumpJunk.isset (varName))

Eu tentei vários métodos de regex no VIM sem sorte:

:%s/if (\(.*\)) != null)/(StumpJunk.isSet())/g
:%s/if \(\(.*\)\) \!\= null\)/\(StumpJunk.isSet\(\)\)/g
:%s/if \v\((.*)\) \!\= null\)/(StumpJunk.isSet())/g
:%s/if \v\((.*)\) \!\= null\)/(StumpJunk.isSet("")/g

Toda vez que voltar dizendo padrão não encontrado:

Pattern not found: \vif\((.*) \!\= null\) 
    
por user3260912 07.09.2017 / 15:41

1 resposta

3

Você tem ) demais no primeiro padrão e falta if no substituto:

:%s/if (\(.*\) != null)/if (StumpJunk.isSet())/g   
    
por 07.09.2017 / 15:52