首页 > 解决方案 > Vim 匹配空格但不匹配制表符

问题描述

有如下文本:

size    O
5   O
length  O
812 O
lb  O
line    O
rate    O

文本中的大多数分隔符是,<TAB>而一些异常值是 4 <SPACE>。试图只找到 SPACE 而不是 TAB

出于某种原因同时使用AND:/\s\+匹配。想知道如何排除匹配项<TAB><SPACE><TAB>

标签: vimmacvim

解决方案


出于某种原因同时使用AND:/\s\+匹配。<TAB><SPACE>

嗯,:help \s说:

\s  whitespace character: <Space> and <Tab>     */\s*

这基本上与当前的所有正则表达式方言都或多或少一致,所以我不确定这有什么令人惊讶的。

“或多或少”,因为这些方言通常也匹配其他字符,例如\r,而 Vim\s只匹配空格和制表符。

如果要匹配空格,只需使用文字空格:

/ \+

推荐阅读