我意识到在 vim 中,我可以使用
match /\s\+$/
现在我想排除那些只包含一个空格的行进行匹配。我该怎么做? (它不需要是单行/正则表达式。)
最佳答案
match /\(\S\zs\s\+$\)\|\(^\s\{2,}$\)/
这应该有效 - 将其分为 2 个部分
第 1 部分 - 在行尾搜索包含其他内容的空格:\(\S\zs\s\+$\)
不是空格\S
,
然后开始匹配 \zs
,
行尾有 1 个或多个空格 \s\+$
或匹配 \|
第 2 部分 - 搜索多个空格,即整行:\(^\s\{2,}$\)
从行首开始 ^
搜索至少 2 个空格 \s\{2,}
在行尾$
关于regex - Vim:匹配行尾的空格但不匹配由单个空格组成的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7946057/