栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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

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

首先,您需要一个与正确行匹配的模式。我认为这样

^s*print>
做:

  • ^
    匹配行首(并且
    $
    匹配行尾)。
  • s
    匹配空格(空格或制表符)
  • *
    表示前一个原子的0个或多个(尽可能多,或“贪婪”)。
  • print
    是文字字符串。
  • >
    匹配字尾(零宽度)。您可以使用(文字)空间或
    s+
    代替。

接下来,您需要确定要用括号括起来的部分。由于

*
是贪婪的,
.*
将匹配到行尾;无需将其锚定在右侧。使用
(s*print)
(.*)
捕获片段,以便您可以在
1
2
中引用它们。

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

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

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

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


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/660091.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号