您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

正则表达式(vim)用于打印…打印(...)用于python2到python3

正则表达式(vim)用于打印…打印(...)用于python2到python3

我对2to3不熟悉,但是从所有评论看,它似乎是完成这项工作的正确工具。

也就是说,也许我们可以将此问题作为一些vim基础知识上的简短课程的借口。

首先,您需要一个与正确行匹配的模式。我认为这样^\s*print\>做:

接下来,您需要确定要用括号括起来的部分。由于*是贪婪的,.*将匹配到行尾;无需将其锚定在右侧。使用\(\s*print\)\(.*\)捕获片段,以便您可以在\1\2中引用它们。

现在,将各个部分放在一起。有很多变体,我还没有尝试过“变高尔夫”:

:%s/^\(\s*print\)\s\+\(.*\)/\1(\2)

有些人更喜欢“非常魔术”版本,其中只有az,AZ,0-9和_被视为文字字符。那么您无需转义括号或加号:

:%s/^\v(\s*print)\s+(.*)/\1(\2)
python 2022/1/1 18:36:59 有234人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶