VIM 搜索和替换

VIM 搜索和替换

我正在尝试使用正则表达式在 vim 中搜索/替换模式/替换/。

我有一个 Java 文件,它试图检查天气数据变量是否已设置,以及是否执行一件事,如果没有则忽略将其处理为 JSON 格式。我在另一个类中编写了一个方法(称为 StumpJunk.isSet - 与 PHP isset 一样,通过检查是否为 null 或为空)

我以前的做法是 if (varName != null)

我想要的新模式是 if (StumpJunk.isset(varName))

我在 VIM 中尝试了多种正则表达式方法,但没有成功:

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

每次它回来都会说找不到模式:

Pattern not found: \vif\((.*) \!\= null\) 

答案1

)第一个模式中有太多,并且缺少if替换:

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

相关内容