使用VI编辑器时我的REGEX出了什么问题?

Joh*_*ohn 2 regex vim

我有一个像这样的文本文件:

<table width="10">
</table>
Run Code Online (Sandbox Code Playgroud)

我用VI编辑器打开文档.我想用什么都不替换width ="somenumber"的所有实例.我在VI编辑器中发出以下命令:

:0,$s/width="[\d]+"//gc
Run Code Online (Sandbox Code Playgroud)

VI说没有发现任何模式.我也尝试过这个并不起作用:

0,$s/width="[0-9]+"//gc
Run Code Online (Sandbox Code Playgroud)

下面这个工作:

:0,$s/width="\d\d"//gc
Run Code Online (Sandbox Code Playgroud)

我的前两个表达有什么问题?

P S*_*ved 5

你的正则表达式中有两个错误!

首先,\d不用[]它就可以使用它.你可能有字符类,如混吧:alpha:,:digit:

第二,逃离+标志.默认情况下你应该逃避它.

所以你的正则表达式是:

:0,$s/width="\d\+"//gc
Run Code Online (Sandbox Code Playgroud)

并且,请在发布stackoverflow之前阅读帮助:

:h :s
Run Code Online (Sandbox Code Playgroud)

您可能还对此帮助部分感兴趣:

:h magic 
Run Code Online (Sandbox Code Playgroud)