如何用变量替换vim正则表达式

主垃圾

我有一个大文件,其中包含以下格式的服务器行:

USet07-1
USet07-2
USet08-1
USet08-2
.
.
.
USet22-2
.
.
.

我想-从中的这些字符串中删除连字符/破折号vim我用以下命令搜索字符串:

:/USet\d\d-\d

但是当我尝试用

:%s/Uset\d\d-\d/USet\d\d\d

我显然得到了

USetddd

对于所有实例。但是我想要的是:

USet071
USet072
USet081
USet082
.
.
.
USet222
.
.
.

如何才能做到这一点?我可以重用匹配字符串的一部分并将其用于替换吗?

英戈·卡卡特(Ingo Karkat)

是的,您可以使用捕获组基本上,您使用来包装模式的各个部分,\(...\)并使用\1etc来引用替换部分中的样式

:%s/Uset\(\d\d\)-\(\d\)/USet\1\2

由于您只想删除模式的单个部分,因此一个较短的选项是通过\zs(匹配开始)和\ze(匹配结束)限制实际匹配(但仍然断言周围的东西也存在):

:%s/Uset\d\d\zs-\ze\d//

这些都是非常基本的东西,捕获组在许多基于正则表达式的工具(如sed)中很常见了解如何查找命令和导航内置命令:help它是全面的,并提供了许多技巧。学习Vim的速度不会像其他编辑器那样快,但是如果您坚持不懈地学习,它将证明它是一个功能强大且高效的编辑器。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何用正则表达式替换文本?

来自分类Dev

如何用正则表达式替换字符序列?

来自分类Dev

如何用正则表达式替换WebStorm / PhpStorm

来自分类Dev

如何用正则表达式进行模式替换?

来自分类Dev

如何用正则表达式替换字符序列?

来自分类Dev

如何用正则表达式匹配以$开头的变量?

来自分类Dev

正则表达式替换vim

来自分类Dev

正则表达式替换无法在Python中用正则表达式变量替换

来自分类Dev

如何用sed表达此正则表达式?

来自分类Dev

如何用sed表达此正则表达式?

来自分类Dev

如何用JavaScript正则表达式替换href内的所有内容?

来自分类Dev

Perl正则表达式:如何用html标签替换终端控制字符?

来自分类Dev

如何用正则表达式替换匹配的组值

来自分类Dev

如何用正则表达式替换剪切字符串逻辑?

来自分类Dev

正则表达式如何用匹配的大小写替换?

来自分类Dev

如何用正则表达式替换包含圆括号(括号)的文本?

来自分类Dev

如何用匹配的正则表达式模式替换特定位置的字符串

来自分类Dev

如何用数据框中的数字替换正则表达式

来自分类Dev

如何用空值替换动态正则表达式?

来自分类Dev

如何用单个正则表达式产生多个子字符串的替换?

来自分类Dev

如何用VBScript正则表达式和VBA替换单词?

来自分类Dev

Perl正则表达式:如何用html标签替换终端控制字符?

来自分类Dev

Objective-C中的正则表达式:如何用动态模板替换匹配项?

来自分类Dev

unix sed-如何用正则表达式替换多行

来自分类Dev

python如何用正则表达式组替换字符串?

来自分类Dev

如何用正则表达式替换匹配的组值

来自分类Dev

PHP-如何用正则表达式按条件替换字符串

来自分类Dev

如何用评论创建正则表达式搜索和替换?

来自分类Dev

如何用ruby正则表达式替换部分内容

Related 相关文章

  1. 1

    如何用正则表达式替换文本?

  2. 2

    如何用正则表达式替换字符序列?

  3. 3

    如何用正则表达式替换WebStorm / PhpStorm

  4. 4

    如何用正则表达式进行模式替换?

  5. 5

    如何用正则表达式替换字符序列?

  6. 6

    如何用正则表达式匹配以$开头的变量?

  7. 7

    正则表达式替换vim

  8. 8

    正则表达式替换无法在Python中用正则表达式变量替换

  9. 9

    如何用sed表达此正则表达式?

  10. 10

    如何用sed表达此正则表达式?

  11. 11

    如何用JavaScript正则表达式替换href内的所有内容?

  12. 12

    Perl正则表达式:如何用html标签替换终端控制字符?

  13. 13

    如何用正则表达式替换匹配的组值

  14. 14

    如何用正则表达式替换剪切字符串逻辑?

  15. 15

    正则表达式如何用匹配的大小写替换?

  16. 16

    如何用正则表达式替换包含圆括号(括号)的文本?

  17. 17

    如何用匹配的正则表达式模式替换特定位置的字符串

  18. 18

    如何用数据框中的数字替换正则表达式

  19. 19

    如何用空值替换动态正则表达式?

  20. 20

    如何用单个正则表达式产生多个子字符串的替换?

  21. 21

    如何用VBScript正则表达式和VBA替换单词?

  22. 22

    Perl正则表达式:如何用html标签替换终端控制字符?

  23. 23

    Objective-C中的正则表达式:如何用动态模板替换匹配项?

  24. 24

    unix sed-如何用正则表达式替换多行

  25. 25

    python如何用正则表达式组替换字符串?

  26. 26

    如何用正则表达式替换匹配的组值

  27. 27

    PHP-如何用正则表达式按条件替换字符串

  28. 28

    如何用评论创建正则表达式搜索和替换?

  29. 29

    如何用ruby正则表达式替换部分内容

热门标签

归档