Você tem )
demais no primeiro padrão e falta if
no substituto:
:%s/if (\(.*\) != null)/if (StumpJunk.isSet())/g
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\)
Tags vim regular-expression