我有一个文件,其中包含诸如######### Utility Functions #######
. 我正在尝试清理它并使其成为# Utility Functions #
需要我匹配一串超过一磅符号的字符串并将其替换为单个磅符号。
我已经尝试了以下
:%s/#+/#/gc
:%s/"#"+/#/gc
:%s/\#+/#/gc
:%s/(#)+/#/gc
Run Code Online (Sandbox Code Playgroud)
还有一堆。据我了解,# 匹配多个字符(如 * 但方向相反)具有特殊意义。这意味着我必须以某种方式逃避它才能实现上述目标。任何帮助表示赞赏。
尝试一下::%s/\v#{2,}/#/g
#{2,} " 2, means at least two
Run Code Online (Sandbox Code Playgroud)
在大多数正则表达式风格中,有一个“多个”的快捷方式:+
所以
:%s/\v#+/#/g
Run Code Online (Sandbox Code Playgroud)
如果您使用“非常神奇”( \v
),也可以,请参阅:h magic
。