使用 grep 将白色 space 转换为 BBEdit 中的制表符

Convert white space to tab in BBEdit using grep

我正在使用 grep 将 4-white-space 转换为 BBEdit 中的单标签。我正在将 Python 代码中的白色 space 转换为制表符。以下工作正常:

find:[^\S\r]{4}   replace:\t

但是,为什么下面是去掉回车return。它不应该给出相同的结果。

find:\s{4} replace:\t

[^\S\r]{4} 表示“4 个字符要么不是(非白色space)要么不是回车return:您可以将其简化为“4 个字符(白色space或不运输 return)".

但是马车return匹配白色space。所以否定 \r 没有效果:它可以进一步简化为 4 whitespaces 实际上等同于 \s{4}

所以你要求 [\t\n ]{4}

但这没有意义,因为在您的情况下不应该替换制表符、回车符 return 或换行符

您可能需要 [ ]{4}:仅显示 4 个 space 个字符。