Calibre を使用して PDF を MOBI に変換していますが、スペースでインデントされたコード ブロックの解釈に問題があります。ブロックには多くのスペースが含まれていますが、その量はさまざまです。一部の行は、31 スペース分インデントされています。
Calibre では、書籍が変換される前に、3 つの正規表現で検索と置換を行うことができます。
これは私が試したものです。
\n( *) ( *)([a-zA-Z{};\*\/\(\)�-9])
と置換する:
\n\1 \2\3
問題は、スペースの1つだけを置き換えることです。それらをすべて同じ量の に置き換えてください
。
最初のグループなどの遅延バージョンも試しました。
これは正規表現が不十分なケースの 1 つですか? この正規表現エンジンは Python の標準だと思います。