1

我正在使用 grep 将 4-white-space 转换为 BBEdit 中的单选项卡。我正在将 Python 代码中的空格转换为制表符。以下工作正常:

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

但是,为什么以下是删除回车。它不应该给出相同的结果。

find:\s{4} replace:\t
4

1 回答 1

2

[^\S\r]{4}表示“4 个字符不是(不是空格)或不是回车:您可以将其简化为“4 个字符(空格或不是回车)”。

但回车匹配空格。所以否定 \r 没有效果:它可以进一步简化为 4 个空格实际上相当于\s{4}

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

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

您可能想要[ ]{4}:仅 4 个显式空格字符。

于 2016-10-01T19:53:07.983 回答