我有一个像这样的文本文件:
<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)
我的前两个表达有什么问题?
你的正则表达式中有两个错误!
首先,\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)