1

所以说我有一个 python v2.7 文件,其中包含如下代码:

print 'asdf'
print 'hi mom!'

但我想在 python3 中运行它,我需要像这样将这些括号添加到它们:

print('asdf')
print('hi mom!')

我试图在 vim 中使用以下正则表达式来解决问题,但它不起作用:

:%s/print\ '.*'/print('\1')/gc

它只是给了我带有空字符串的打印函数(带括号)。任何帮助表示赞赏;谢谢。

4

1 回答 1

3

这适用于您的示例

:%s/print \('.*'\)/print(\1)/g
  1. 你不需要逃离这个空间。
  2. 您实际上并没有在括号中捕获任何内容,因此\1在您的正则表达式中是一个空字符串。

但我也推荐使用2to3

于 2013-07-26T00:59:27.100 回答