regex - Vim:匹配行尾的空格但不匹配由单个空格组成的行

标签 regex vim diff removing-whitespace

我意识到在 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/

相关文章:

bash - 在 shell 脚本中使用 vimdiff 进行 HTML 转换

linux - 使用 "diff"和 "patch"命令排除二进制文件和目标文件,使用补丁文件进行 FreeScale LTIB 源代码控制

git - git 中 diff 分支相对于共同祖先的变化

c# - 正则表达式嵌入 {{ 匹配

c++11正则表达式比python慢

vim - vim 启动时忽略 vimrc 中的所有错误

vim - 使用 syntastic 的 vim 下的 quickfix 窗口

python - (Neo)vim python 支持和 active virtualenv 冲突

php - 从 URL 获取 Instagram 用户名 - 使用正则表达式忽略句号

Javascript替换换行符