当前位置:  开发笔记 > 编程语言 > 正文

vim正则表达式搜索csv字符串并粘贴匹配项

如何解决《vim正则表达式搜索csv字符串并粘贴匹配项》经验,为你挑选了1个好方法。



1> rampion..:

关于vim正则表达式的重要事项是需要转义不同的级别(与Perl或Ruby中的正则表达式相反)

:help /\m

after:    \v     \m       \M        \V    matches
                 'magic'  'nomagic'
          $      $        $         \$    matches end-of-line
          .      .        \.        \.    matches any character
          *      *        \*        \*    any number of the previous atom
          ()     \(\)     \(\)      \(\)  grouping into an atom
          |      \|       \|        \|    separating alternatives
          \a     \a       \a        \a    alphabetic character
          \\     \\       \\        \\    literal backslash
          \.     \.       .         .     literal dot
          \{     {        {         {     literal '{'
          a      a        a         a     literal 'a'

默认设置是'magic',所以为了使你给的正则表达式有效,你必须使用:

:%s/".*\(\d\{10}\).*"/\1/

如果你想删除除前7位数字和匹配之外的所有内容(我假设你的意思是你想要删除没有任何匹配的行)

:v/^\([[:alnum:]]\{7}\),\s*".*\(\d\{10}\).*/d
:%s//\1,\2/

:v//命令允许您在每条与给定模式不匹配的行上运行命令,因此这只会删除不匹配项. :s//重用先前的模式,因此我们不必指定它.

这改变了以下内容:

0g98932,"long description sometimes containing numbers like 0123456789"
0g98932,"long description no numbers"
0g98932,"long description no numbers"
0g98932,"long description sometimes containing numbers like 0123456789"
0g98932,"long description no numbers"
0g98932,"long description no numbers"
0g98932,"long description no numbers"
0g98932,"long description no numbers"
0g98932,"long description sometimes containing numbers like 0123456789"
0g98932,"long description no numbers"
0g98932,"long description no numbers"
0g98932,"long description sometimes containing numbers like 0123456789"

进入这个:

0g98932,0123456789
0g98932,0123456789
0g98932,0123456789
0g98932,0123456789

推荐阅读
跟我搞对象吧
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有