我有一个像这样的文本文档:
<table width="10">
</table>
我使用 VI 编辑器打开该文档。我想将 width="somenumber"的所有实例替换为空。我在 VI 编辑器中发出此命令:
:0,$s/width="[\d]+"//gc
VI 表示未找到模式。我也尝试过这个,但不起作用:
0,$s/width="[0-9]+"//gc
下面这个有效:
:0,$s/width="\d\d"//gc
我的前两个表达式有什么问题?
最佳答案
您的正则表达式中有两个错误!
首先,使用\d
,周围不带[]
。您可能会将其与 :alpha:
、:digit:
等字符类混合使用。
其次,转义+
符号。默认情况下你应该转义它。
所以你的正则表达式将是:
:0,$s/width="\d\+"//gc
并且,请在 stackoverflow 上发帖之前阅读帮助:
:h :s
您可能也对此帮助部分感兴趣:
:h magic
关于regex - 使用 VI 编辑器时我的 REGEX 有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1615996/