代码之家  ›  专栏  ›  技术社区  ›  cgp

使用VI,我如何搜索和替换以下语句?

  •  0
  • cgp  · 技术社区  · 16 年前

    CREATE TABLE /*!32312 IF NOT EXISTS*/ `access`
    

    CREATE TABLE IF NOT EXISTS `access`
    

    :%s/\/\*\!\d+(.*)\*\//\1/g
    

    3 回复  |  直到 16 年前
        1
  •  4
  •   Brian Carper    16 年前

    :%s/\/\*\!\d\+\(.*\)\*\//\1/g
    

    编辑:正如下面的评论中提到的,如果转义为\+,+确实有效。而且\d实际上是支持的,哎呀。编辑了示例正则表达式以纠正此问题。另请参阅Brian Carper的示例,以获取更简洁易读的版本。

        2
  •  4
  •   bdonlan    16 年前

    :%s@\v/\*!\d+(.*)\*/@\1@g
    

    如果没有“非常神奇”,你必须在前面加一个反斜杠 + () (但不在前面 *

        3
  •  1
  •   chappar    16 年前

    与[^*]+略有不同,效率更高:-)

    1,$s/\v\/\*\!\d+\s*([^*]+)\*\//\1