grep を使用して、BBEdit で 4 つの空白を単一タブに変換しています。Python コードの空白をタブに変換しています。以下は正常に動作します:
find:[^\S\r]{4} replace:\t
ただし、以下が改行を削除している理由。それは同じ結果を与えるべきではありません。
find:\s{4} replace:\t
[^\S\r]{4}
「4文字が(空白ではない)またはキャリッジリターンではないことを意味します。「4文字(空白またはキャリッジリターンではない)」と簡略化できます。
ただし、キャリッジ リターンは空白と一致します。したがって、\r を否定しても効果はありません。実際には 4 つの空白としてさらに単純化できます。\s{4}
だからあなたは頼んだ[\t\n ]{4}
しかし、それは意味がありません。あなたのケースでは、集計、改行、または改行文字を置き換える必要がないからです。
おそらく必要です[ ]{4}
:4つの明示的なスペース文字のみ。