我正在学习vim,并开始意识到它的强大之处(尤其是与正则表达式结合使用)。目前我正在尝试将python文件中的所有整数替换为浮点值。
例如,您会遇到像[0, 0, 0]这样的东西,需要改为[0.0,0.0,0.0]
我现在最好的方法是:
:%s/\(\d\+\)\@<=s*,/.0,/g
不过我得到了类似于0.032.0的结果。
两件事:
- 有没有任何正则表达式专家能够提供一个解决上述问题的强大方式?
- 我开始意识到这些表达式可以变得多么复杂。是否有办法在我的.vimrc中定义子正则表达式,例如整数或浮点数,并有一种嵌入后续调用的方法。例如,所需的调用可能是::%s/\($(AnInt)\)+/-/g,将整数后的加号更改为减号。(或者其他一些同样模块化的方法)
:%s/\d\+\ze,/&.0/g
,但对于第二个命令不确定。你能否添加替换前和替换后的字符串? - Raimondi