【发布时间】:2011-12-18 06:21:39
【问题描述】:
我意识到在 vim 中,我可以使用突出显示行尾的尾随空格
match /\s\+$/
现在我想从匹配中排除那些恰好包含一个空格的行。我该怎么做呢? (它不需要是单行/正则表达式。)
【问题讨论】:
标签: regex vim diff removing-whitespace
我意识到在 vim 中,我可以使用突出显示行尾的尾随空格
match /\s\+$/
现在我想从匹配中排除那些恰好包含一个空格的行。我该怎么做呢? (它不需要是单行/正则表达式。)
【问题讨论】:
标签: regex vim diff removing-whitespace
match /\(\S\zs\s\+$\)\|\(^\s\{2,}$\)/
这应该可行 - 将其分为 2 个部分
第 1 部分 - 在行尾搜索包含其他内容的空格:\(\S\zs\s\+$\)
不是空格\S,
然后开始匹配\zs,
行尾1个或多个空格\s\+$
或匹配\|
第 2 部分 - 搜索多个空格,即整行:\(^\s\{2,}$\)
从行首开始^
搜索至少 2 个空格 \s\{2,}
在行尾$
【讨论】:
\(^ $\)\@!\&\s\+$.
这匹配所有包含多个空格的行,而忽略包含一个空格的行。
match /\s\s\+$/
【讨论】: